Git如何确定特定合并存在冲突及其冲突内容?
我的猜测是:如果被合并的两个提交具有共同的父提交,并且它们都更改了行X,与父提交不同,那就是一个冲突。
使我困惑的是:
- “更改行X”可能意味着用几行新代码替换该行,但Git会将其显示为一个冲突(版本A具有此一行,版本B具有这5行或其他内容)。
- 如果您在其中一个提交中插入了一些行,较简单的算法将认为所有后续行都已更改:第30行现在具有第25行以前的内容,31行具有第26行以前的内容等等。但Git可以告诉这些内容是相同的,我不知道它是如何做到的。
有人能解释这是如何工作的,或者给我一个相关链接吗?