Git 防止樱桃采摘后的提交后钩子

Git 防止樱桃采摘后的提交后钩子,git,githooks,Git,Githooks,有没有一种方法可以防止在cherry pick之后运行post-commit钩子?我只想在git commit之后运行post-commit钩子。或者有没有一种方法可以在钩子内部确定提交是被选中的?对于,这是可能的,但情况不同。对于git cherry pick文件似乎是git使用它的方式与cherry pick/rebase/revert使用的方式相同git status报告“cherry pick正在进行”。我终于在钩子内部解决了这个问题。我检查了git reflog-n1的输出,它类似于e

有没有一种方法可以防止在cherry pick之后运行post-commit钩子?我只想在git commit之后运行post-commit钩子。或者有没有一种方法可以在钩子内部确定提交是被选中的?对于,这是可能的,但情况不同。

对于
git cherry pick
文件似乎是
git
使用它的方式与cherry pick/rebase/revert使用的方式相同
git status
报告“cherry pick正在进行”。

我终于在钩子内部解决了这个问题。我检查了
git reflog-n1
的输出,它类似于
e06ca29a23 HEAD@{0}:cherry pick:commit message
。它不是防弹的,如果您在cherry pick期间取消提交,则在reflog中会有一个新条目用于取消提交,但除此之外,它似乎也能工作。

我尝试了您的想法,但似乎在提交之前取消了
cherry pick\u HEAD
,例如,在解决一些冲突时,我可以使用该文件,但是,当我运行
git cherry pick--continue
并执行以下
post commit
检查文件是否存在时,像这样
[-f“$(git rev parse--git dir)/cherry_pick_HEAD”]&&echo“cherry pick,Skip…”| |“post committing”
,我仍然会得到“post committing”,运行hook时,CHERRY\u PICK\u HEAD不再存在。