git-svn试图提交错误的分支

spi*_*ech 5 git git-svn

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
Run Code Online (Sandbox Code Playgroud)

这是"正确"的分支/合并策略,我从解释这个 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_b送到svn/branch_b

Pet*_*ton 1

查看您的签出命令,似乎您可能没有指示 git svn 正确跟踪远程 SVN 分支。尝试这些命令:

git checkout -b branch_a -t svn/branch_a
git checkout -b branch_b -t svn/branch_b
Run Code Online (Sandbox Code Playgroud)

然后验证您在每次跟踪后跟踪的分支:

git svn info
Run Code Online (Sandbox Code Playgroud)

然后每个分支应该跟踪正确的远程分支。