Git执行merge --continue时是否可跳过Git Hooks?
Git merge --continue 无法直接跳过钩子的确认及替代方案
截至目前的Git版本(2024年),确实没有官方支持的直接通过git merge --continue跳过Git钩子的参数,你尝试的git merge --continue --no-verify无效是正常的——该命令的参数设计里并不包含--no-verify选项。
原因说明
git merge --continue的核心作用是在解决合并冲突后完成合并提交,这个过程会触发所有常规的提交类钩子(比如pre-commit、commit-msg),但Git并没有提供直接传递跳过钩子参数的途径给这个命令。
可行的替代方案
临时禁用钩子文件:
直接修改钩子文件的可执行权限来临时禁用:# 禁用pre-commit钩子(其他钩子同理) chmod -x .git/hooks/pre-commit # 执行合并续行 git merge --continue # 恢复钩子权限 chmod +x .git/hooks/pre-commit手动执行合并提交:
解决冲突后,直接用带跳过钩子参数的git commit命令替代git merge --continue:git commit -nGit会自动识别这是合并冲突后的提交,会保留合并相关的提交信息(比如合并分支的说明),效果和
git merge --continue完全一致。
内容的提问来源于stack exchange,提问作者shriek
相关产品推荐
相关产品推荐

