2012-01-30 38 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 

各部门要然后跟踪正确的远程分支。