我试图了解在重新定基期间为什么会发生重复性冲突。我首先提出的概念是,如果冲突得到解决,从而导致创建了 new 提交,那么从此不再有冲突。
在git文档的Object Storage部分中,它解释了提交对象包含标头,文件的先前内容和文件的新内容,或者之前和< em>之后状态。
如果我git rebase
并在解决基准问题期间解决了冲突,那么新提交是否包含与原始提交不同的“之前”状态?
我推测,如果 new 提交包含与 before 和 after 状态内容完全相同的内容,则该提交及其所有将来的重复项(从进一步的调整)将继续引起冲突。有道理,git rerere
会使用该内容作为指纹,以将将来的冲突与过去的冲突进行匹配,并能够自动解决它们。
但是,如果 new 提交不包含 before 状态中的更新内容,则存在两个问题: