Git 钩子脚本可以与存储库一起管理吗?

问题描述

从理论上讲,您可以hooks在项目目录中创建一个包含所有脚本的目录(或您喜欢的任何名称),然后将它们符号链接.git/hooks. 当然,每个克隆 repo 的人都必须设置这些符号链接(尽管您可能会非常喜欢并拥有一个克隆器可以运行的部署脚本来半自动地设置它们)。

要在 *nix 上进行符号链接,您需要做的就是:

root="$(pwd)"
ln -s "$root/hooks" "$root/.git/hooks"

ln -sf如果您准备好覆盖其中的内容,请使用.git/hooks

解决方法

我们想制作一些我们都可以共享的基本钩子脚本——例如预先格式化提交消息。Git 具有通常存储在<project>/.git/hooks/.
但是,当人们进行克隆并且它们不受版本控制时,这些脚本不会传播。

有没有什么好方法可以帮助大家获取正确的钩子脚本?我可以让这些钩子脚本指向我的仓库中的版本控制脚本吗?