推送预提交git hook(Rubocop)

问题描述 投票:3回答:2

我目前通过在./git/hooks下创建预提交挂钩,将我的存储库配置为使用Rubocop进行预提交linting

但是,我希望每个在我团队工作的人都可以使用它,因此我想将这些更改推送到Github。

如何在不提交.git文件夹的情况下将与预提交linting相关的更改推送到远程存储库?

ruby git github githooks rubocop
2个回答
1
投票

我认为使用git hooks是相当常见的做法,例如,检查hooks/目录。然后,用户可以从.git/hooks/foohooks/foo进行符号链接。

您甚至可以考虑在存储库中放置一个shell脚本,以便在用户运行时创建必要的符号链接。例如,hooks/setup.sh可能运行像ln -s ./foo ../.git/hooks/foo

但最终,每个用户仍然需要采取一些行动来建立自己的钩子。 (有关更多信息,请参阅this question)。


0
投票

您可以使用托管解决方案进行预提交钩子管理,如pre-commit。或者像Datree.io这样的服务器端git-hook的集中式解决方案。它有内置的政策,如:

  1. 检测并预防merging of secrets
  2. 强制适当的Git user configuration
  3. 强制执行Jira ticket integration - 在提取请求名称/提交消息中提及票号。

它不会取代你所有的钩子,但它可能会帮助你的开发人员使用最明显的钩子,而不需要在每个开发人员的计算机/ repo上安装钩子。

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

© www.soinside.com 2019 - 2024. All rights reserved.