【问题标题】:Pushing pre-commit git hook (Rubocop)推送预提交 git hook (Rubocop)
【发布时间】:2019-03-22 15:24:27
【问题描述】:

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

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

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

【问题讨论】:

标签: ruby git github githooks rubocop


【解决方案1】:

我认为使用 git hooks 来检查 hooks/ 目录是相当普遍的做法。然后,用户可以从.git/hooks/foo 符号链接到hooks/foo

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

但最终,每个用户仍然需要采取一些措施来设置自己的挂钩。 (请参阅this question 了解更多信息)。

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-08-26
      • 2015-02-18
      • 2013-12-17
      • 2010-12-19
      • 2016-01-05
      • 1970-01-01
      • 2019-09-14
      • 2017-02-20
      • 2014-05-06
      相关资源
      最近更新 更多