Git svn希望将我的本地主机提交到远程分支,而不是中继

Git svn希望将我的本地主机提交到远程分支,而不是中继,git,svn,git-svn,branching-and-merging,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 Committ

我一定读过十几个关于“如何在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!
(主)%git co-b重构合并
(重构合并)%git svn dcommit-n
提交到(URL)/中继
(重构合并)%git合并远程/重构
(重构合并)%git svn dcommit-n

致力于(URL)/分支/重构#我可能已经弄明白了为什么我的行为与我见过的其他问题不同。显然,自创建远程分支以来,我的主干(主主干)没有看到任何更改是很重要的。这意味着历史实际上已经是线性的了——我所有的合并都是FF

如果我签出master,提交一个微不足道的更改,然后签出本地
refac_merge
分支和
git-rebase-master
,它将创建一个全新的提交序列,其中包含相同的消息,但散列不同(因为它们现在是琐碎更改提交的后代,而不是分支点之前的最后一个主干提交)。现在,
git svn dcommit-n
正确地表示它将推送到svn主干

当然,这也给我留下了一个非常非常难看的git修订日志。也许有一个“两全其美”的修正