在 cherry-pick 之后防止 post-commit hook

Prevent post-commit hook after cherry-pick

有没有办法在 cherry pick 之后阻止 运行ning post-commit hook?我想 运行 post 仅在 git commit 之后提交挂钩。或者有没有办法在钩子内部弄清楚提交已经被挑选出来了?这对于 example for rebase 是可能的,但那是不同的情况。

对于 git cherry-pick,文件似乎是 CHERRY_PICK_HEAD. git uses it in the same sequencer used for cherry-pick/rebase/revert. git status uses it 报告 "cherry-pick is in progress"。

我终于在钩子内部解决了这个问题。我检查了 git reflog -n 1 的输出,类似于 e06ca29a23 HEAD@{0}: cherry-pick: commit message。它不是防弹的,如果你在 cherry-pick 期间修改提交,reflog 中有一个新条目用于修改,但除此之外,它似乎有效。