gpt4 book ai didi

git - 项目中每个人的默认 git 预提交 Hook ?

转载 作者:行者123 更新时间:2023-12-02 00:38:42 26 4
gpt4 key购买 nike

followed these directions安装 flake8 预提交 Hook :flake8 --install-hook git。如何让每个人都默认使用此预提交 Hook ?

看起来它改变了我自己的沙箱(.git/hooks/pre-commit),但是没有什么可以提交或推送的。该项目的其他开发人员不会获得预提交 Hook ,除非他们自己安装它。

我希望它像 .gitignore,其中有一个文件保存在源代码控制中,我们都可以更新和版本化。

最佳答案

本地 Hook 不像 .gitignore 文件。相反,它们就像 .git/info/exclude。也就是说,它们是本地的,并且必须在任何应该使用它们的存储库上进行配置。

可以说出于安全原因,为什么应该这样。 (克隆你的 repo 并不意味着我想在启动 git 命令时默认运行你的代码。)但是无论你是否同意这些原因,这就是 Hook 的工作方式。

您可以做的是提供 Hook 脚本,可能是将脚本复制到正确目录的安装程序,以及要求开发人员安装 Hook 的自述文件。

如果您需要开发人员无法覆盖的东西,您需要一个服务器端 Hook 。例如,您可以使用预接收 Hook 来拒绝不遵循您希望在提交级别强制执行的规则的推送。 (这确实会激励开发人员安装预提交 Hook ,以便他们更快地发现任何违反规则的行为,而不会浪费精力。)

关于git - 项目中每个人的默认 git 预提交 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48153405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com