git中预推和预接收挂钩的区别?
git中的预推和预接收钩子在用例或工作逻辑方面有区别吗?git中预推和预接收挂钩的区别?,git,githooks,Git,Githooks,git中的预推和预接收钩子在用例或工作逻辑方面有区别吗? 我能理解的唯一区别是他们收到的信息- 1.预推:钩子的标准输入中提供了关于要推的内容的信息,其行的形式为-本地参考SP local sha1 SP remote ref SP remote sha1 LF 2.预接收:对于要更新的每个参考,它在标准输入上接收一行格式- 旧值SP新值SP ref name LF 但是,我想知道每个钩子是否有特定的用例,或者它们是否可以互换使用?一个(pre-push)是a,另一个(pre-receive)是
我能理解的唯一区别是他们收到的信息- 1.预推:钩子的标准输入中提供了关于要推的内容的信息,其行的形式为-本地参考SP local sha1 SP remote ref SP remote sha1 LF 2.预接收:对于要更新的每个参考,它在标准输入上接收一行格式-
旧值SP新值SP ref name LF
但是,我想知道每个钩子是否有特定的用例,或者它们是否可以互换使用?一个(
pre-push
)是a,另一个(pre-receive
)是a
在这方面,它们是非常不同的,如果您想要一致地执行给定的策略,您通常在预接收(服务器端)挂钩中执行。这样,您就不必担心在每个客户端上部署预推钩子
记住:钩子是,这意味着预推钩子不容易分配给任何。但是,如果这些下游回购协议都是指同一个上游回购协议,那么预收款挂钩可以适用于所有下游回购协议。好的。那么预推是客户端钩子,预接收是服务器端钩子,我相信?@user1783805我添加了下游回购的概念:这很重要。非常感谢。简洁明了的回答@user1783805我也在一个类似的主题“我希望整个团队执行测试”上回答了您的问题:然后是一个预接收(服务器端)挂钩,如果linter失败,它将拒绝推送。