【发布时间】:2014-09-17 21:12:41
【问题描述】:
有没有办法在 git 中编写自定义合并冲突解决程序?由于在多个分支上更改 java 导入语句,我们遇到了邪恶的合并冲突。这些似乎很容易编写一个插件来自动处理 90% 的时间。 git 是否有允许我们针对这种情况编写自定义自动合并行为的钩子?
【问题讨论】:
有没有办法在 git 中编写自定义合并冲突解决程序?由于在多个分支上更改 java 导入语句,我们遇到了邪恶的合并冲突。这些似乎很容易编写一个插件来自动处理 90% 的时间。 git 是否有允许我们针对这种情况编写自定义自动合并行为的钩子?
【问题讨论】:
还有git rerere 命令旨在解决一次冲突,然后让 git 以相同的方式解决类似的未来冲突。我自己没有使用它的经验,我不确定这是否正是您正在寻找的,但我怀疑这应该值得考虑/测试。
【讨论】:
您可以在.gitconfig 中定义新的合并策略,如here 所述。
[merge "mymergescheme"]
name = my awesome merger
driver = "my_executable_here"
然后,您可以为 .gitattributes 中的特定文件指定合并策略,如同一页所述。
src/*.java merge=mymergescheme
【讨论】: