Windows上的Git结帐后挂钩

问题描述

我在Windows上安装了 git 2.28.0 。 实际上,我在post-checkout.sample存储库下的钩子存储库中找不到/.git钩子。 Windows是否支持post-checkout.sample挂钩? 当我在Linux上安装相同版本的git时,我发现了post-checkout.sample钩子。 我什至尝试使用 git 2.23.0 版本,但遇到了同样的问题。

hooks on windows

我试图创建post-checkout来打印一条简单消息“ hello”。但这是行不通的。但是,当我在pre-commit中复制此文件时,它可以工作。 有什么建议吗?

解决方法

我从没见过Git For Windows distributionpost-checkout.sample中的mingw64/share/git-core/templates/hooks/

但是只要您成功,该钩子就应该起作用:

  • 名为“检出后”的文件
  • bash脚本(请参阅example here
  • 在您的repo/.git/hooks文件夹中

实际上有一个proposal (RFC) for a post-checkout.sample in 2009,但当时没有捡起。

问题was asked (also in 2009)

我还注意到 初始化新档案时,结帐后样本不存在。这是一个 错误?

不,这是安全性。
挂钩是可执行文件,不应盲目地 出于安全原因复制。

,

似乎在空的存储库上不起作用。 我刚刚在存储库中提交了一个文件,当我执行git checkout -b new_branch时,结帐后钩子起作用了。