git钩子推送和本地提交

git钩子推送和本地提交,git,githooks,Git,Githooks,我最近一直在为我的项目团队编写git钩子。我想知道开发人员是否在本地进行各种提交,而不遵循标准的提交消息模式。然后他们推动这些承诺。推送是否会因为没有遵循该模式而失败 期望的结果是,他们能够按照自己的意愿在本地进行承诺,然后当他们推回主要的公司分支机构时,被迫遵循一种结构化的方式 想法?这是最好的做法吗 诀窍是:不发布(推/拉) 因此,如果您的项目成员推送到一个裸repo,其中服务器端钩子(预接收或更新)检查提交消息模式(我不确定是否可以完成),推送将失败。 但是提交仍然存在于开发人员本地rep

我最近一直在为我的项目团队编写git钩子。我想知道开发人员是否在本地进行各种提交,而不遵循标准的提交消息模式。然后他们推动这些承诺。推送是否会因为没有遵循该模式而失败

期望的结果是,他们能够按照自己的意愿在本地进行承诺,然后当他们推回主要的公司分支机构时,被迫遵循一种结构化的方式

想法?这是最好的做法吗

诀窍是:不发布(推/拉)

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

最好是:

  • 用正确的挂钩制作一个模板Git回购
  • 确保开发人员使用--template选项初始化他们的回购协议,该选项引用正确的公共模板。
    请参见git init的
    部分的
这样,它们将比服务器端更快地失败(在服务器端可以推送n个错误的提交,并且将失败)


在其他工作中,客户端钩子更合适。

“他们的推送会因为他们的提交不遵循模式而失败吗?”:如果你写了一个钩子,如果他们的提交不遵循模式就会拒绝他们的推送,那么是的。你到底在问什么?我的问题是,如果我写了一个检查模式的提交钩子,而它们在本地不遵循该模式。会有推送失败吗?或者有推钩吗?:)对不起,我不清楚。