您的位置:首页 > 财经 > 产业 > 重重庆建设工程信息网官网_b2c代表性企业_近期国内新闻摘抄_百度认证服务平台

重重庆建设工程信息网官网_b2c代表性企业_近期国内新闻摘抄_百度认证服务平台

2025/1/3 22:41:59 来源:https://blog.csdn.net/weixin_40629244/article/details/144797390  浏览:    关键词:重重庆建设工程信息网官网_b2c代表性企业_近期国内新闻摘抄_百度认证服务平台
重重庆建设工程信息网官网_b2c代表性企业_近期国内新闻摘抄_百度认证服务平台

在团队开发中,当成员提交代码的描述信息不符合约定提交规范的时候,需要阻止当前的提交,而要实现这个目的,我们就需要先来了解一个概念,叫做 Git hooks,即Git 在执行某个事件之前或之后进行一些其他额外的操作。

而我们所期望的 阻止不合规的提交消息,那么就需要使用到 hooks 的钩子函数。

相关的 hooks 非常多,我们用的比较多的其实只有两个。

1. commit-msg:可以用来规范化标准格式,并且可以按需指定是否要拒绝本次提交;

2. pre-commit:会在提交前被调用,并且可以按需指定是否要拒绝本次提交;

下面是我整理出来的所有的 hooks ,大家可以进行一下参考,其中红色的是常用到的 hooks。

PS:详细的 hooks 介绍 可点击这里查看 

Git Hook调用时机说明
pre-applypatchgit am执行前
applypatch-msggit am执行前
post-applypatchgit am执行后不影响git am的结果
pre-commitgit commit执行前可以用git commit --no-verify绕过
commit-msggit commit执行前可以用git commit --no-verify绕过
post-commitgit commit执行后不影响git commit的结果
pre-merge-commitgit merge执行前可以用git merge --no-verify绕过。
prepare-commit-msggit commit执行后,编辑器打开之前 
pre-rebasegit rebase执行前
post-checkoutgit checkout或git switch执行后如果不使用--no-checkout参数,则在git clone之后也会执行。
post-mergegit commit执行后在执行git pull时也会被调用
pre-pushgit push执行前
pre-receivegit-receive-pack执行前
update    
post-receivegit-receive-pack执行后不影响git-receive-pack的结果
post-update当 git-receive-pack对 git push 作出反应并更新仓库中的引用时    
push-to-checkout当git-receive-pack对git push做出反应并更新仓库中的引用时,以及当推送试图更新当前被签出的分支且receive.denyCurrentBranch配置被设置为updateInstead时
pre-auto-gcgit gc --auto执行前    
post-rewrite执行git commit --amend或git rebase时
sendemail-validategit send-email执行前    
fsmonitor-watchman配置core.fsmonitor被设置为.git/hooks/fsmonitor-watchman或.git/hooks/fsmonitor-watchmanv2时
p4-pre-submitgit-p4 submit执行前   可以用git-p4 submit --no-verify绕过
p4-prepare-changelistgit-p4 submit执行后,编辑器启动前可以用git-p4 submit --no-verify绕过
p4-changelistgit-p4 submit执行并编辑完changelist message后可以用git-p4 submit --no-verify绕过
p4-post-changelistgit-p4 submit执行后    
post-index-change索引被写入到read-cache.c do_write_locked_index后

上面介绍了Git hooks的基本概念,下一篇文章中将会向大家介绍《使用 commitlint 和 husky 检查提交描述是否符合规范要求》,该篇将会讲述如何实现阻止不符合要求的代码描述提交。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com