git 中的预推送和预接收钩子在用例或工作逻辑方面有区别吗?
我能理解的唯一区别是他们文档 https://github.com/git/git/blob/master/Documentation/githooks.txt#L211就他们收到的输入而言 -
1.Pre-Push:有关要推送的内容的信息在挂钩的标准输入上提供,其行格式为 -本地引用 SP 本地 sha1 SP 远程引用 SP 远程 sha1 LF
2.预接收:对于要更新的每个引用,它在标准输入上接收一行格式 -
旧值 SP 新值 SP 引用名称 OF
但是,我想知道每个钩子是否都有特定的用例,或者它们可以互换使用吗?
One (pre-push
) is a 客户端 hook http://git-scm.com/book/en/Customizing-Git-Git-Hooks#Client-Side-Hooks, 另一个 (pre-receive
) is a 服务器端 hook http://git-scm.com/book/en/Customizing-Git-Git-Hooks#Server-Side-Hooks.
在这方面,他们是very不同,如果你想强制执行始终如一地对于给定的策略,您通常在预接收(服务器端)挂钩中执行此操作。这样你就不用担心部署每个客户端上都有一个预推钩子。
记住:钩子是local到回购协议 https://stackoverflow.com/a/3703207/6309,这意味着预推钩子不能轻易分配给任何下游回购 https://stackoverflow.com/a/2749166/6309。但是,如果这些下游存储库都引用相同的上游存储库,则预接收挂钩可以应用于所有这些存储库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)