我正在跟踪使用git的svn仓库。合并在2014-01-09(生产承诺A
)和2014-02-12(生产承诺B
)上完成。当我git checkout master; git log
,我看到提交的合并,但我也看到,例如,对一个分支(这是作为B
的一部分合并)作出的2014-02-04(C
)提交。git-svn - 为什么其他分支的提交混入主分区中提交?
为什么在主干上运行git log
时,针对分支的提交会显示出来?
我发现这一点的同时尝试我的主人和树枝倒回到特定日期时间,试图再次执行合并B
,看看存在哪些冲突。我假设我可以git checkout master; git reset --hard B^; git merge branch;
,但那不起作用,然后我看到从我的干线日志分支这些额外的提交并感到困惑。
任何帮助你可以提供关于这个问题将非常感谢!
'--first-parent',它不跟踪仅通过合并另一个分支到当前分支中的提交。尽管如此,这并不完美,因为git基本上没有一个提交的分支的概念。 – Eevee
啊,谢谢!我没有意识到git-svn太聪明了。我很久以前就注意到,当我'git svn clone'ed,'git log --oneline --graph'没有正确地跟踪分支。 “好吧,”我说,“总比没有好。”我没有意识到后来的'git svn rebase'等等,*不能正确地追踪分支!感谢你的回答! –
我原本以为你的意思是合并发生在'git'方面,当我意识到你的意思是发生在'svn'方面时,我开始猜测我的答案。我找不到任何提供明确答案的参考资料。看起来'git'必须非常聪明才能将'svn'合并翻译成'git'合并,因为它们是非常不同的概念。但我无法弄清楚还会发生什么。 – patrickvacek