Git-svn希望将我的本地主服务器提交给远程分支,而不是主干

时间:2013-01-15 10:58:06

标签: git svn git-svn branching-and-merging

我一定读过十几篇“如何在git-svn中使用SVN分支”的问题,但我从来没有见过像我这样的事情。我正在尝试一个简单的合并:

(master)% git co -b refac_merge
(refac_merge)% git svn dcommit -n
  Committing to (URL)/trunk
(refac_merge)% git merge remotes/refactor
(refac_merge)% git svn dcommit -n
  Committing to (URL)/branches/refactor # <-- WTF!

我发现a question听起来很相似,但答案实际上并没有告诉我如何修复它。我怎么能告诉git-svn是的,我想跟踪SVN中继的本地分支继续跟踪合并后的SVN中继?

1 个答案:

答案 0 :(得分:0)

我可能已经弄清楚为什么我的行为与我见过的其他问题有所不同。显然,自从创建远程分支以来,我的主干(主)没有看到任何变化,这一点非常重要。这意味着历史实际上已经是线性的 - 我所有的合并都是FF。

如果我签出master,提交一个微不足道的更改,然后检查本地refac_merge分支和git rebase master,它会创建一系列全新的提交,但具有相同的消息,但不同的哈希值(因为它们现在是普通变更提交的后代,而不是分支点之前的最后一个中继提交。现在,git svn dcommit -n正确地说它会推送到SVN中继线。

当然,这也给我留下了一个非常非常丑陋的git修订日志。也许这两个世界都是最好的&#34;修复?