如何在远程仓库中添加git钩子?

11

我已经创建了一个 pre-commit 钩子,并且它在我的本地机器上运行良好,但是我不知道如何与我的同事共享此钩子。

如果有帮助,我将不胜感激。

提前致谢,丹尼斯


这个回答解决了你的问题吗?Git钩子脚本可以与存储库一起管理吗? - andruso
1个回答

4
需要翻译的内容如下:

需要注意的是,在克隆存储库时,客户端钩子不会被复制。

在服务器端,第一个钩子是 pre-receive

并非所有操作都可以在这个钩子中完成,具体取决于您在提交之前要做什么,但这是为每个使用存储库的人执行操作的地方。

注意:您必须拥有对git服务器的访问权限才能执行此操作。

编辑:

对于全局设置,请参见https://dev59.com/hHE95IYBdhLWcg3wft1w#8842663。 但是,这种解决方案需要每个人都进行新的git init

如果您没有访问git服务器或想应用代码规则/样式器,请建议同事将.git/hooks/pre-commit链接到一个版本化文件,您可以在其中编辑自己的pre-commit钩子以供所有人使用。 或者,如果文件永远不会更改,只需与他们共享文件即可(但是这必须针对每个新来者进行)。


我想在提交之前运行 jscs。在这种情况下使用 pre-commit hook 是否可以? - Denys Medvediev
是的,pre-commit 正是执行代码样式器或代码规则器的地方。但使用 pre-receive 假定您已经提交了代码,因此应用 jscs 太晚了。我会为您的情况编辑答案。 - Simon PA
你有访问你的Git服务器配置的权限吗? - Simon PA
然后按照https://dev59.com/hHE95IYBdhLWcg3wft1w#8842663的步骤将您的规则应用于新用户。对于当前用户,我更喜欢在您的存储库中使用一个版本化的hook目录,然后从您的同事到这个钩子创建符号链接 - Simon PA
git config --global init.templatedir '~/.git_template' 这段代码不够清晰,您能否详细解释一下,谢谢。 - Denys Medvediev
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接