的提交,如提交信息模板、合并提交、压缩提交和修订提交等⾮常实⽤。 你可以结合提交模板来使⽤它,动态地插⼊信息
7. pre-push
钩⼦会在 git push 运⾏期间, 更新了远程引⽤但尚未传送对象时被调⽤。 它接受远程分⽀的名字和位置作为参数,同时从标准输⼊中读取⼀系列待更新的引⽤。 你可以在推送开始之前,⽤它验证对引⽤的更新操作(⼀个⾮零的退出码将终⽌推送过程)。
股票配资什么意思
8. pre-reba
钩⼦运⾏于变基之前,以⾮零值退出可以中⽌变基的过程。 你可以使⽤这个钩⼦来禁⽌对已经推送的提交变基。 Git ⾃带的 pre-reba 钩⼦⽰例就是这么做的,不过它所做的⼀些假设可能与你的⼯作流程不匹配。
锦堂春慢9. pre-receive(服务器端)
处理来⾃客户端的推送操作时,最先被调⽤的脚本是 pre-receive。 它从标准输⼊获取⼀系列被推送的引⽤。如果它以⾮零值退出,所有的推送内容都不会被接受。 你可以⽤这个钩⼦阻⽌对引⽤进⾏⾮快进(non-fast-forward)的更新,或者对该推送所修改的所有引⽤和⽂件进⾏访问控制。
10. update(服务器端)
update 脚本和 pre-receive 脚本⼗分类似,不同之处在于它会为每⼀个准备更新的分⽀各运⾏⼀次。 假如推送者同时向多个分⽀推送内容,pre-receive 只运⾏⼀次,相⽐之下 update 则会为每⼀个被推送的分⽀各运⾏⼀次。 它不会从标准输⼊读取内容,⽽是接受三个参数:引⽤的名字(分⽀),推送前的引⽤指向的内容的 SHA-1 值,以及⽤户准备推送的内容的 SHA-1 值。 如果 update 脚本以⾮零值退出,只有相应的那⼀个引⽤会被拒绝;其余的依然会被更新。
shenhua
11. post-receive(服务器端)
苦竹叶>用徐组词post-receive 挂钩在整个过程完结以后运⾏,可以⽤来更新其他系统服务或者通知⽤户。 它接受与 pre-receive 相同的标准输⼊数据。
它的⽤途包括给某个邮件列表发信,通知持续集成(continous integration)的服务器, 或者更新问题追踪系统(ticket-tracking system) —— 甚⾄可以通过分析提交信息来决定某个问题(ticket)是否应该被开启,修改或者关闭。 该脚本⽆法终⽌推送进程,不过客户端在它结束运⾏之前将保持连接状态, 所以如果你想做其他操作需谨慎使⽤它,因为它将耗费你很长的⼀段时间。
12. post-checkout
灼灼的意思
更新⼯作树后调⽤checkout时调⽤,或者执⾏ git clone后调⽤。主要⽤于验证环境、显⽰变更、配置环境。在 git checkout 成功运⾏后,post-checkout 钩⼦会被调⽤。你可以根据你的项⽬环境⽤它调整你的⼯作⽬录。 其中包括放⼊⼤的⼆进制⽂件、⾃动⽣成⽂档或进⾏其他类似这样的操作。
前庭系统>抱朴子外篇13. post-rewrite
本hook在git命令重写(rewrite)已经被commit的数据时调⽤。除了其携带的参数之外,本hook还从stdin接收信息,信息格式为”
”。post-rewrite 钩⼦被那些会替换提交记录的命令调⽤,⽐如 git commit --amend 和 git reba(不过不包括 git filter-
branch)。 它唯⼀的参数是触发重写的命令名,同时从标准输⼊中接受⼀系列重写的提交记录。 这个钩⼦的⽤途很⼤程度上跟 post-checkout 和 post-merge 差不多。
完整说明详见官⽅⽂档:
3 demo(git commit代码检查)
先说思路,思路是使⽤pre-commit
官⽅说明: