我正在使用git跟踪svn存储库。合并是在2014-01-09(生成提交A
)和另一个在2014-02-12(生成提交B
)完成的。当我git checkout master; git log
时,我看到了合并的提交,但我也看到,例如,2014-02-04(C
)提交针对一个分支(它作为一部分合并) B
)。
为什么在中继线上运行git log
时会显示针对分支的提交?
我在尝试将我的主节点和分支回滚到特定日期时发现了这一点,尝试再次执行合并B
以查看存在哪些冲突。我曾经假设我可以git checkout master; git reset --hard B^; git merge branch;
,但那不起作用,然后我在主干日志中看到了这些额外的提交,并且感到困惑。
非常感谢您提供有关此主题的任何帮助!
答案 0 :(得分:2)
如果C
是已合并到master
以生成B
的分支的一部分,那么git log
上的master
将包含所有提交的内容在分支中,包括C
。这是预期的行为,也是理解作为master
一部分的所有单个提交所必需的。 git log
可能有一个标志来隐藏也出现在不同分支中的提交,但我找不到这样的机制。