【问题标题】:Git Merge Conflict Custom Auto-ResolutionGit 合并冲突自定义自动解决
【发布时间】:2014-09-17 21:12:41
【问题描述】:

有没有办法在 git 中编写自定义合并冲突解决程序?由于在多个分支上更改 java 导入语句,我们遇到了邪恶的合并冲突。这些似乎很容易编写一个插件来自动处理 90% 的时间。 git 是否有允许我们针对这种情况编写自定义自动合并行为的钩子?

【问题讨论】:

    标签: git merge git-merge


    【解决方案1】:

    还有git rerere 命令旨在解决一次冲突,然后让 git 以相同的方式解决类似的未来冲突。我自己没有使用它的经验,我不确定这是否正是您正在寻找的,但我怀疑这应该值得考虑/测试。

    【讨论】:

      【解决方案2】:

      您可以在.gitconfig 中定义新的合并策略,如here 所述。

      [merge "mymergescheme"]
              name = my awesome merger
              driver = "my_executable_here"
      

      然后,您可以为 .gitattributes 中的特定文件指定合并策略,如同一页所述。

      src/*.java merge=mymergescheme
      

      【讨论】:

      • 这看起来和我需要的很接近,但是有什么办法可以保留git的默认合并策略吗?喜欢在我运行我的之后调用它吗?
      • @xdhmoore,我不知道,虽然你可能会破解一些东西。请注意,语义会很棘手,因为 git 期望初始合并的输出已经是正确合并的文件。
      • 找到文档here。也许我可以返回一个错误代码,但我不确定这是否会调用另一个自动合并策略。
      • @xdhmoore,干得好。我希望这些能比这个答案更详细地解决你的问题。
      猜你喜欢
      • 2019-08-26
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多