我想自动合并那些每一次提交都改变同一行不同单词的提交记录。目的是将git用作文档存储,并以编程方式访问它(因此,理想情况下无需解决冲突)。在我的用例中,我可以确定更改不会重叠(它们不会影响相同的单词,尽管它们在相同的行上)。
如果
在这个答案中,建议使用“clean”和“smudge”过滤器,以便将每个单词存储在快照的单独行中。然而,那对我来说似乎太过hacky。
您会选择哪种方法?
git-diff
不仅可以按行显示两个提交之间的差异,还可以按单词或字符显示差异。例如:$ git diff --word-diff-regex=. HEAD HEAD~
如果
git-diff
能够识别更改的单词(而不是整行),我相信我可以让git-merge
基于单词(或字符)检测冲突。但我错了。据我所知(来源),在深层次上,git-diff
工具操作的是行,单词或字符差异功能已经使用这些由git返回的基于行的结果进行操作。在这个答案中,建议使用“clean”和“smudge”过滤器,以便将每个单词存储在快照的单独行中。然而,那对我来说似乎太过hacky。
您会选择哪种方法?