2012-06-05 3 views
1

저는 dev 브랜치를 가지고 있고 커밋하고 싶습니다. 그러나 내가 들어 가지 않을 사건의 불행한 일련을 통해, 내 자식 svn 이미 그것의 최신 생각하고 거기에 아무것도 커밋합니다.git-svn을 사용하여 강제 커밋을 수행하려면 어떻게해야합니까?

지금 당장은 지회의 로컬 버전으로 내 지사의 원격 내용을 혼동하고 싶습니다. git svn을 제외하고는 git push --force과 유사합니다. git svn dcommit --force과 같은 것입니다.

다른 사본을 체크 아웃하고 repo의 내용을 복사/붙여 넣기하는 것과 같은 다른 방법이 있다는 것을 알고 있습니다. 하지만 나는 순수한 자식과 함께 존재하는 것과 같은 간단한 "강제"솔루션을 기대하고있다.

답변

0

"git-svn dcommit"에는 --force 옵션 또는 그 유사어가 없습니다. 당신은 SmartGit 클라이언트를 시도 할 수 있습니다 :

  1. 선택 Remote-> 고급 밀어 SmartGit로 힘내 - SVN 저장소를 엽니 다. "Force"체크 박스를 체크하고, Push를 누른다.

SmartGit은 분기를 새 분기로 푸시할지 또는 기존 분기로 푸시할지 여부를 묻습니다. 새로 만들기를 선택하면 SmartGit에서 지점 이름에서 SVN 지점 이름을 선택합니다 (예 : refs/heads/XXX의 경우 지점/XXX 선택). Existing을 선택하면 SmartGit은 "git-svn-id :"커밋이 충족 될 때까지 현재 브랜치 히스토리를 살펴보고 거기에 지정된 URL로 브랜치를 푸시합니다. 나는 두 번째 옵션이 귀하의 경우에 더 좋다고 생각합니다.

+1

강제로 두건 아래에서 스마트하고있는 것은 무엇입니까? – Zugwalt

+0

SVN 분기를 푸시 된 분기로 바꿉니다. 그러면 "svn log -v"에 'R'이 표시됩니다. –

+0

작동하지 않는 것 같습니다. – aelam

관련 문제