推送 pre-commit git hook (Rubocop)

4

我目前已经通过在 ./git/hooks 下创建一个钩子文件 pre-commit 来配置我的代码库使用 Rubocop 进行提交前检查。

但是,我希望所有与我合作的人都能够使用这个功能,因此我想将这些更改推送到 Github 上。

那么,我应该如何将与 pre-commit 检查相关的更改推送到远程代码库,却不需要提交 .git 文件夹呢?


1
可能是将git钩子放入存储库的重复问题。 - mkasberg
2个回答

2
我认为在使用git hooks时,将hooks/目录提交到版本库中是相当普遍的做法。然后,用户可以从.git/hooks/foo创建符号链接到hooks/foo
你甚至可以考虑在版本库中放置一个shell脚本,在用户运行它时创建必要的符号链接。例如,hooks/setup.sh可能会运行像ln -s ./foo ../.git/hooks/foo这样的命令。
但是,最终,每个用户仍然需要采取一些措施来设置自己的hooks。(有关更多信息,请参见此问题)。

1

您可以使用类似pre-commit的托管解决方案来管理 pre-commit hook。 或者使用Datree.io这样的集中式解决方案来管理服务器端的 git-hooks。 它具有内置策略,例如:

  1. 检测和防止合并机密信息
  2. 强制执行正确的Git用户配置
  3. 强制执行Jira票务集成 - 在拉取请求名称/提交消息中提及票务编号。

它不会替换所有钩子,但它可能会帮助开发人员处理最明显的问题,而无需在每个开发人员的计算机/存储库上安装钩子。

免责声明:我是 Datree 的创始人之一。


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