【发布时间】:2015-12-10 07:07:25
【问题描述】:
我正在执行git revert(之前的还原),这导致了一些合并冲突。
解决冲突后,我的预提交挂钩引发了一些代码嗅探器问题。
由于这些代码嗅探器通知已在其他地方修复,因此我想在此时使用git revert --continue --no-verify 绕过预提交挂钩,显然git revert 没有--no-verify 子命令。
git revert 确实有一个--no-commit 子命令,但这不能与--continue 结合使用。
我最终重命名了 pre-commit 文件,但出于好奇。那时有没有更好的方法来绕过预提交钩子?
【问题讨论】:
-
也有同样的问题并像你一样解决了它:我创建了一个文件
hooks.sh,它接受一个参数:enable或disable。在喂disable时,我使用我的预提交钩子并将其重命名为pre-commit.disabled。完成后,我调用./hooks.sh enable将文件重命名为pre-commit -
是的,唯一的选择是删除 hooks 目录,执行 git revert --continue 然后执行 git reset --hard HEAD。
-
你也可以暂时关闭你的 git 钩子:
git git config core.hooksPath "",然后在你完成revert --continue之后,用git config core.hooksPath hooks/重新打开它(假设你的钩子路径是 @ 987654339@)。如果您只想关闭 precommit 钩子(例如,希望您的 postcommit 钩子仍然运行),这将不起作用。
标签: git