jos*_*urs 43 git merge githooks
问题就是这一切.有没有办法在合并之前执行操作?我猜有一种方法可以使用pre-commit钩子,但我不太确定.
Kou*_*sha 22
你可以尝试使用prepare-commit-msg钩子.第二个参数将是merge"如果提交是合并或.git/MERGE_MSG文件存在".非零退出状态将中止提交.
我不认为这将适用于快进合并,因为不会有提交消息.
关于钩子的更多信息:https://www.kernel.org/pub/software/scm/git/docs/githooks.html#_prepare_commit_msg
使用Git 2.24(2019年第四季度)时,不需要脚本包装器或prepare-message挂钩。
引入了新的“ pre-merge-commi t”挂钩。
请参阅Michael J Gruber()的commit bc40ce4,commit 6098817和commit a1f3dd7(2019年8月7日)。
参见Josh Steadmon()的commit f78f6c7(2019年8月7日)。(通过合并JUNIOÇ滨野- -在提交f76bd8c,2019年9月18日)mjgsteadmon
gitster
git-merge:荣誉pre-merge-commit挂钩
git-merge在执行自动合并提交时不支持预提交钩子,并且出于兼容性原因,这将保留。引入一个
pre-merge-commit称为自动合并提交的钩子,就像为非自动合并提交(或任何其他提交)调用预提交一样。
该文档现在包括:
合并前提交
该挂钩由调用
git-merge。
它不带任何参数,并且在成功执行合并之后且在获取建议的提交日志消息以进行提交之前被调用。
从该脚本git merge以非零状态退出会导致命令在创建提交之前中止。如果启用了默认的“ pre-merge-commit”挂钩,则启用了“ pre-commit”挂钩。
GIT_EDITOR=:如果该命令不会调出编辑器来修改提交消息,那么该钩子将与环境变量一起调用。如果无法自动执行合并,则需要解决冲突,并分别提交结果(请参阅参考资料
git-merge)。
届时,将不会执行此挂钩,但是pre-commit如果启用了' '挂钩。