合并冲突的Git钩子

时间:2012-03-10 18:13:55

标签: git hook githooks

我可以使用git hook进行合并冲突吗?失败的git merge之后,能够编写一个打开$EDITOR中存在冲突的所有文件的脚本会很棒。不幸的是,如果存在冲突,post-merge挂钩不会运行,而且我在githooks手册页中看到,没有其他适用的挂钩。

我想知道我是否遗漏了某些东西,或者是否有其他替代方案没有将'git merge'混淆到一个函数或类似的东西。

谢谢, 克里斯

2 个答案:

答案 0 :(得分:2)

正如Charles Bailey所建议的那样,最好的方法是自定义mergetool。使用this guide,我想出了一种在编辑器中打开合并冲突的简单方法:

[merge]
  tool = emacs
[mergetool "emacs"]
  cmd = $editor \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"

由于Charles Bailey从未回答过我应该如何评价这一点,我希望这是最终解决这个问题的合适方式。

答案 1 :(得分:0)

我认为可能有两种方法,正如你提到的那样,你可以编辑你的mergeto或者你可以使用以下方法创建另一个别名:

for i in $(git ls-files -u | cut -f 2 | sort -u); do $EDITOR $i; done