我有一个如下所示的git树:
由于我们使用的评论工具,我们选择改变而不是合并它们。这给我们留下了一些逻辑重复,我的分支只是删除。例如,在开发中也可以看到ssl_tests下面的更改“修改:更改名称...”。
现在,也许这是我对樱桃选择缺乏了解,但是那些提交有不同的哈希值,所以不同的提交是对的吗?即使它们在逻辑上是相同的。
然而,当我去修改ssl_tests到dev时,git设法弄清楚那些挑选的提交是上游的,然后只从ssl_tests重新定义“新功能:单元测试...”提交。
按照惯例,使用git,这太棒了!这正是我想要的!我的问题是,git如何确定如果它们有不同的哈希值,它不需要重新设置其他提交?
谢谢! 斯蒂芬
答案 0 :(得分:5)
Git在这里不仅仅关注SHA1。它实际上正在考虑提交的内容。它看到应用提交而不应用提交所产生的树是相同的;也就是说,如果应用于新基础,则提交将为空。因此,rebase足够聪明,知道它不必费心包括那些提交。