在git中,默认行为是尽可能自动合并文件,这在大多数情况下都有意义,但这里有一个例子,原始提交者可能知道文件中某一行的自动合并可能不正确。 例如,在列表中的某处添加条目可能无法与其他人一起添加到列表中的不同条目。如果没有一些调整,它们可能只是逻辑上不能一起工作。但是,如果这些更改位于列表的不同行,git将很乐意自动合并文件,并且执行合并的人可能甚至看不到潜在问题,直到稍后测试。
如果有一种方法可以在早些时候发现这一点,那就太好了。例如,其中一个提交者可能知道添加到列表中的条目不能被自动化,并且必须正确处理。因此,如果有一种方法可以将特定行标记为不可合并,则可以更早地处理潜在的合并问题,以便合并其更改的另一个人将在文件中的该行上看到合并冲突,他们将被强制手动审查。
有人可以手动开发自己合并两个提交中的特定文件的流程,但是这个合并提交者可能不知道其他人在分支上做出的更改的所有细节。
如果原始提交者可以某种方式使用强制手动合并的元数据来标记这些行,那会更好。
将整个文件标记为需要手动合并将是另一种选择,虽然采用粗粒度的方法,但几乎同样好。
在大多数情况下,git可以自动检测所需的有关文件更改和历史记录的所有信息,但是,如果您作为用户,还可以明确地为其提供某种元数据,这将是一件好事。你知道它能够自动检测的更多信息。