2012-01-30 57 views
5

git-svn dcommit正試圖推送到錯誤的SVN分支。下面是我所做的:git-svn試圖提交到錯誤的分支

git checkout -b branch_a svn/branch_a # git-svn clone prepended all remote SVN branches with svn/ 
git svn branch -m "a message" branch_b 
git checkout -b branch_b svn/branch_b 

<make some commits> 

git svn dcommit 
git checkout branch_a 
git svn rebase 
git checkout branch_b 
git rebase branch_a 

這是「正確」的分支/合併策略,我從this StackOverflow的問題解釋。

現在我在泡菜。 git svn dcommitbranch_b嘗試推送到SVN URL爲svn/branch_a。這由git svn info的輸出確認。這也不是我想要或期望的。

有趣的是,git log --grep='^git-svn-id:' --first-parent -1顯示正確的SVN分支,URL爲svn/branch_b。我讀過這個命令是假設來揭示git-svn將提交到哪裏。

所以:

  1. 我做了什麼錯?
  2. 我怎麼能解決這個問題(即推branch_bsvn/branch_b
+0

那些是您使用的確切結帳命令嗎? AFAIK你需要-t才能跟蹤遠程分支。 – 2012-02-21 13:52:41

回答

1

尋找你結賬的命令,好像你可能沒有指示混帳SVN正確跟蹤遠程SVN分支嘗試鍵入以下命令:

git checkout -b branch_a -t svn/branch_a 
git checkout -b branch_b -t svn/branch_b 

然後確認你每次後跟蹤分支:

git svn info 

各部門要然後跟蹤正確的遠程分支。