【发布时间】:2019-03-22 15:24:27
【问题描述】:
我目前已通过在./git/hooks 下创建 pre-commit 挂钩,将我的存储库配置为使用 Rubocop 进行预提交 linting
但是,我希望团队中的每个人都可以使用它,因此我想将这些更改推送到 Github。
如何在不提交 .git 文件夹的情况下将与预提交 linting 相关的更改推送到远程存储库?
【问题讨论】:
标签: ruby git github githooks rubocop
我目前已通过在./git/hooks 下创建 pre-commit 挂钩,将我的存储库配置为使用 Rubocop 进行预提交 linting
但是,我希望团队中的每个人都可以使用它,因此我想将这些更改推送到 Github。
如何在不提交 .git 文件夹的情况下将与预提交 linting 相关的更改推送到远程存储库?
【问题讨论】:
标签: ruby git github githooks rubocop
我认为使用 git hooks 来检查 hooks/ 目录是相当普遍的做法。然后,用户可以从.git/hooks/foo 符号链接到hooks/foo。
您甚至可以考虑在存储库中放置一个 shell 脚本,以便在用户运行它时创建必要的符号链接。例如,hooks/setup.sh 可能会运行类似 ln -s ./foo ../.git/hooks/foo 的内容。
但最终,每个用户仍然需要采取一些措施来设置自己的挂钩。 (请参阅this question 了解更多信息)。
【讨论】:
您可以使用托管解决方案进行预提交挂钩管理,例如 pre-commit。 或者像 Datree.io 这样的服务器端 git-hooks 的集中式解决方案。 它具有以下内置策略:
它不会取代你所有的钩子,但它可能会帮助你的开发人员使用最明显的钩子,而无需在每个钩子上安装钩子的配置地狱。 开发者计算机/repo。
免责声明:我是 Datrees 的创始人之一
【讨论】: