【问题标题】:Is it possible to setup git merge for automatic resolving? (git rerere)是否可以设置 git merge 进行自动解析? (git rerere)
【发布时间】:2016-05-26 18:00:25
【问题描述】:

我有 2 台笔记本电脑,其中包含一个必须同步的纯文本文件 - 它用作第 3 方软件的数据库。客户希望每天同步该文件的内容。

第一个想法是制作一个将文件上传到 Dropbox 的脚本,但在发生冲突的情况下(两个用户都删除了 A 行,第一个用户添加了 B 行,第二个用户添加了 C 行)Dropbox 创建了一个单独的文件。 编辑:本来要提,但忘了说:在发生冲突的情况下,B 行和 C 行都应该替换 A 行 - “两者兼而有之”策略。

第二个想法是将文件放入存储库,听起来很容易,但我不确定如何设置自动解析,因为我不希望在此过程中出现合并工具 GUI。

【问题讨论】:

  • 是否允许覆盖客户的修改?
  • 发生冲突时您希望它做什么?使用 B 行和 C 行,随机选择一个,还是其他?
  • @DavidDeutsch 感谢您的提醒-不知何故,我忘了将其添加到问题中。已编辑。 B和C都应该代替A,顺序不重要。
  • @JossefHarush 嗨,有哪些修改?客户不知道 Git 或 Dropbox - 好吧,也许他有,但不在乎 - 这就是为什么我想将所有内容放入脚本并不时运行它的原因 - 这就是为什么我想避免任何额外的 GUI 所以他不会害怕的。

标签: git powershell command-line


【解决方案1】:

您可以使用git rerere 命令寻求帮助。

这正是为这个命令所为。

git rerere

R记录R使用R解决方案

# enabled the option to record the 
git config --global rerere.enabled true

顺便说一句,如果您更喜欢自动暂存它解决的文件(我愿意),您可以要求它:您只需要像这样调整您的配置:

git config --global rerere.autoupdate true

【讨论】:

【解决方案2】:

如果您希望通过包含双方的更改来解决所有冲突,请将以下内容添加到您的 .gitattributes 文件中:

* merge=union

这会让 git 做你想做的事。

【讨论】:

  • 关于文档,该文件应位于$GIT_DIR/info/attributes,但此文件夹仅包含一个名为“exclude”的文件。那么你必须先创建文件.gitattributes吗?
猜你喜欢
  • 1970-01-01
  • 2010-10-26
  • 1970-01-01
  • 2020-01-31
  • 2015-11-19
  • 2014-10-14
  • 2018-04-07
相关资源
最近更新 更多