我有 2 台笔记本电脑,其中有一个纯文本文件,该文件必须同步 - 它用作第三方软件的数据库。客户希望每天同步该文件的内容。
第一个想法是制作一个将文件上传到 Dropbox 的脚本,但如果发生冲突(两个用户删除 A 行,第一个用户添加 B 行,第二个用户添加 C 行),Dropbox 会创建一个单独的文件。 编辑:本来要提到,但忘了说:在发生冲突的情况下,B 行和 C 行都应该替换 A 行 - “同时采用”策略。
第二个想法是将文件放入存储库,听起来很简单,但我不确定如何设置自动解析,因为我不希望在此过程中出现合并工具 GUI。
您可以使用
git rerere
命令来帮助您。
这正是该命令的用途。
git rerere
名称代表“Reuse Recorded Resolution”。
# enabled the option to record the conflicts resolutions
git config --global rerere.enabled true
顺便说一句,如果您更喜欢
rerere
自动暂存它解决的文件(我愿意),您可以要求它这样做。你只需要像这样调整你的配置:
git config --global rerere.autoupdate true
如果您希望通过包含双方的更改来解决所有冲突,请将以下内容添加到您的
.gitattributes
文件中:
* merge=union
这将使 git 做你想做的事。