git-svn dcommit
正试图推向错误的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 dcommit
的{{1}}会尝试推送到branch_b
的SVN网址。 svn/branch_a
的输出证实了这一点。这也不是我想要或期望的。
有趣的是,git svn info
显示了正确的SVN分支,即git log --grep='^git-svn-id:' --first-parent -1
的网址。我已经读过这个命令是假设来揭示git-svn将在哪里提交。
所以:
svn/branch_b
推送到branch_b
答案 0 :(得分:1)
查看您的结帐命令,似乎您可能没有指示git svn正确跟踪远程SVN分支。请尝试以下命令:
git checkout -b branch_a -t svn/branch_a
git checkout -b branch_b -t svn/branch_b
然后在每个分支后验证您正在跟踪的分支:
git svn info
然后每个分支都应该跟踪正确的远程分支。