用于合并冲突的Git钩子

问题描述 投票:17回答:2

是否有我可以用于合并冲突的git钩子?在git merge失败之后,能够编写一个脚本打开$EDITOR中所有有冲突的文件将是很棒的。不幸的是,如果发生冲突,post-merge挂钩不会运行,并且从githooks手册页中看到的情况来看,没有其他适用的挂钩。

我想知道我是否错过了某些内容,或者是否还有其他选择,除了将'git merge'别名为函数或类似内容之外。

谢谢,克里斯

git hook githooks
2个回答
2
投票

如查尔斯·贝利(Charles Bailey)所建议,最好的方法是自定义mergetool。使用this guide,我想到了一种简单的方法来在编辑器中打开合并冲突:

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

由于查尔斯·贝利(Charles Bailey)从未回答过我该如何称赞他,我希望这是最终解决这个问题的适当方法。


0
投票

我认为可能有两种方法,就像您提到的那样,您可以编辑您的mergetool或使用以下方法创建另一个别名:

for i in $(git ls-files -u | cut -f 2 | sort -u); do $EDITOR $i; done
© www.soinside.com 2019 - 2024. All rights reserved.