Git 钩子:根据特定文件的差异更改提交消息

Git hooks: Change commit message depending from diff of specific files

如果特定文件发生变化(文件路径列表存储在文件中),则需要在提交消息中附加一些文本,例如New OSB config needed,当然要提交。我需要使用什么钩子?

一旦提交就无法更改(因为它是由其对象 ID 存储的,它是其内容的校验和,因此如果您尝试更改任何内容,您将获得一个新的、不同的对象 ID) .这意味着您必须在提交之前使用 运行s 的钩子。因此,参考 the githooks documentation,我们在提交之前找到了三个钩子 运行(之后还有一个,但为时已晚):

  • pre-commit
  • prepare-commit-msg
  • commit-msg

第一个运行太,在提交消息以任何形式存在之前。这只剩下两种可能性:在提交消息给你编辑之前(prepare-commit-msg),或者在你完成编辑之后但在它被用作提交创建的一部分之前(commit-msg)。

选择您喜欢的,同时注意 --no-verify 点。总的来说,我发现 hooks 可以做我 不能 看到的事情是令人讨厌的(对我来说这会把我推向 "prepare" hook),但大概这个 hook 将是你的自己创作,仅供您使用,因此您可以根据自己的喜好进行设置。