在cherry-pick操作上可以执行哪些git hooks?

zie*_*141 10 git cherry-pick git-cherry-pick

我正在尝试找到一种方法来在挑选它们时检查提交。不幸的是,我找不到与cherry-pick操作一起使用的 git hook。在精心挑选的提交上执行脚本的可能解决方案是什么?

Bit*_*her 3

正如上面评论中的其他人所说,没有直接的樱桃选择钩子。

但我可以向您建议一种解决方法,该方法可以在某些条件下起作用:

一些 git 前端为每个cherry-pick 提交添加默认提交消息。

这里只是一个GitExtension的例子,其中的cherry pick命令向您显示一个名为“Cherry pick commit”的对话框,其中包含一个可勾选的选项“将提交引用添加到提交消息”。使用此选项,提交消息将如下所示:

Fix of security problem sp345

(cherry picked from commit c157f17740bad0c8c59ff3f693a747552008371d)

# Conflicts:
#   authorization/secure/check.py
Run Code Online (Sandbox Code Playgroud)

可以编写 commit-msg 钩子来执行以下操作

  1. 检查提交消息是否包含cherry picked from commit
  2. 如果是,那么在“樱桃选择钩”中做任何你想做的事情

仅需要一个条件:每个提交者都遵循规则将文本添加(通过工具或手动)到提交消息中,以将其正确检测为精选提交。