假设我有两个进程追加行到相同原始(父)文件的副本(copy_A
和copy_B
)。如果我有diff
这些副本,是否可以diff
断定我们之间存在冲突? (即它是否可以得出结论copy_A
并对copy_B
同一条线)?
请注意,没有一个进程会删除行,它们都添加行,但我想知道diff
(具体来说git
)是否可以得出结论,他们正在编辑同一行(而不是得出他们都在编辑的结论)添加了不同的行)
具体就我而言,我正在处理csv
文件(两个进程都将记录附加到它们自己的csv
文件副本中,即原始csv
文件在开始时是相同的),我希望git合并这些 csv 文件希望能够自动生成而不会发生冲突。我可以做出这样的假设吗?
更新:
假设两个进程都是追加行到它们自己的分支上的同一文件,我们希望在某个时候合并到主干上。有没有办法告诉 git (diff) 它们都对应于添加,以使其自动合并更改(可能在块中添加条目,例如,所有 A 的添加后面跟着 B 的添加)
答案1
编写自定义合并驱动程序,如中所述git 和主要追加文件的策略。
这样你就可以指定合并文件的方式是附加它们,而不是停止并要求用户解决通过附加简单解决的冲突。