【发布时间】:2012-11-07 05:53:20
【问题描述】:
为了合并,我用它来“保留我的”
git merge -X ours foo
这是“保留他们的”
git merge -X theirs foo
但是,在我最近的合并中,最好保留双方。 Git 是否为此制定了“策略”,以避免手动编辑文件?
【问题讨论】:
为了合并,我用它来“保留我的”
git merge -X ours foo
这是“保留他们的”
git merge -X theirs foo
但是,在我最近的合并中,最好保留双方。 Git 是否为此制定了“策略”,以避免手动编辑文件?
【问题讨论】:
没有解决这些冲突的“合并策略”。
但是,如果你真的想要这样的冲突:
<<<< ours
Foo
=========
Bar
>>>> theirs
解决
Foo
Bar
然后您可以配置“合并驱动程序”。来自gitattributes 手册页:
联合
对文本文件运行 3 路文件级合并,但从 两个版本,而不是留下冲突标记。这往往 将添加的行以随机顺序保留在结果文件中,并且 用户应验证结果。如果您不这样做,请不要使用它 了解其中的含义。
在 .gitattributes 中添加一行以使用它:
*.whatever merge=union
【讨论】:
.gitattributes 编辑为“选项”),可以专门针对您希望以这种方式合并的冲突调用?这些是如此常见,如果有一种方法可以将它们单行 cli 就太好了(将多个导入/函数/属性添加到同一个文件中,顺序无关紧要)
这个呢?
grep -v -e'^<<<<<<<' -e '^>>>>>>>' -e'=======' filename.txt > filename.tmp
mv filename.tmp filename.txt
【讨论】: