在所有存储库中添加 .pre-commit-config.yaml 文件。此预提交 Hook 负责验证提交消息,如果不符合标准,则会生成错误。
现在,当有人同时提交到本地系统时,应该触发 Hook 。为此,需要安装:
pre-commit install --hook-type commit-msg
pre-commit install
如果上述命令未在任何开发人员的本地系统上执行,则预提交将不会执行。当然,可以为开发人员提供安装预提交相关内容的指南,但有可能会错过它。
那么有什么方法可以强制自动安装预提交相关的东西,或者如果开发人员尚未安装,那么可能会出现错误,请在继续之前在本地计算机上安装预提交 Hook ,如果没有此提交应该不工作?
最佳答案
对于任何 client-side Git hook ,你有同样的部署问题:你需要部署到所有客户端:
- 钩子(Hook)本身(此处通过一系列命令安装)
- 或
git
执行git
之前的包装器,检查钩子(Hook)是否已安装,如果没有(并且如果在 Git 存储库内执行)则安装它。
考虑到我的 Git 用户都来自同一家公司,我通常使用第二个选项:他们使用我的安装程序来安装 Git。
这不适用于开源项目,因为开源项目的贡献者并非来自同一组织,而是分散在全局各地。
如果您有权访问远程存储库,请添加 (server-side) pre-receive hook to validate the commit message建议:您可以拒绝推送,然后添加开发人员安装预提交 Hook 的说明。
关于git - 如何在本地系统中修改预提交 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74002741/