git hooks 推送和本地提交

标签 git githooks

我最近一直在为我的项目团队编写 git hooks。我想知道开发人员是否在不遵循标准提交消息模式的情况下在本地进行各种提交。然后他们推送这些提交。是否会因为提交未遵循模式而导致推送失败?

期望的结果是他们能够按照自己的意愿在本地提交,然后在返回到主要公司分支机构时被迫遵循结构化方式。

想法?这是最佳做法吗?

最佳答案

诀窍是:git hooks未发布(推/pull )

因此,如果您的项目成员推送到一个裸仓库,其中服务器端 Hook (pre-receiveupdate)检查提交消息模式(我是不确定是否可以完成),推送将失败。
但是提交存在于开发人员的本地存储库中,他/她仍然必须修复它(git commit --amend 如果没有其他提交已经完成)。

最好是:

  • 用正确的钩子(Hook)制作一个模板 Git repo
  • 确保开发人员使用引用正确通用模板的 --template 选项初始化他们的存储库。
    参见 template directory section git init

那样的话,它们会比在服务器端更快地失败(在服务器端可以推送 n 个不正确的提交,并且会失败)

在其他工作中,这里使用客户端 Hook 会更合适。

关于git hooks 推送和本地提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3363262/

相关文章:

git - gitkraken repo 上的 "could not find a compatible repository"错误

java - IntelliJ Git Java 项目运行

git - 如何将 clang-formatting 添加到预提交 Hook ?

GIT 接收后 Hook 不运行

git - 如何使 "nohup ./script.sh & disown"在 post-receive git hook 中工作?

linux - Gitolite 和非裸仓库?

git - 如何防止删除纯 GIT 中的远程分支

git - 让 Concourse 仅在文件 diff 而不是提交时构建新的 docker 容器

git - 在 GIT 推送上接收电子邮件

php - mysqldump-git hook-它允许什么?