推动预提交git hook(Rubocop)

时间:2019-03-22 15:24:27

标签: ruby git github githooks rubocop

我目前已通过在./git/hooks

下创建 pre-commit 钩子,将存储库配置为使用Rubocop进行预提交。

但是,我希望团队中的每个人都可以使用此功能,因此,我希望将这些更改推送给Github。

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

2 个答案:

答案 0 :(得分:1)

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

您甚至可以考虑将Shell脚本放入存储库中,以在用户运行它时创建必要的符号链接。例如,hooks/setup.sh可能会运行类似ln -s ./foo ../.git/hooks/foo的内容。

但是,最终每个用户仍然必须采取一些措施来设置自己的钩子。 (有关更多信息,请参见this question

答案 1 :(得分:0)

您可以使用托管解决方案来进行预提交的挂钩管理,例如pre-commit。 或针对Datree.io之类的服务器端git-hooks的集中式解决方案。 它具有内置策略,例如:

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

它不会取代您所有的钩子,但可以帮助开发人员使用最明显的钩子,而无需在每个钩子上安装钩子的配置 开发人员计算机/存储库。

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