随着项目不断迭代,有时会制定一些git规范或者在提交commit之前执行一些脚本操作,此时需要我们对git进行一些hook的操作
单个项目hook
-
如果对git hook工作原理还不太了解的,可以先阅读下面文章 自定义 Git - Git 钩子
-
默认hooks文件: .git/hooks/commit-msg,修改该文件
#!/bin/sh echo "**** clean local tag **** " git tag -l | xargs git tag -d git fetch --tags
-
.git文件夹不会上传至远程仓库的,不受版本控制
-
在项目根目录创建.githooks文件,然后把commit-msg命令放进去
git config core.hooksPath .githooks
全局git hook: core.hooksPath
#创建hooks文件夹
mkdir -p ~/.git-hooksPath/hooks
#配置全局git hooksPath
git config --global core.hooksPath ~/.git-hooksPath/hooks
#确保脚本可以执行
chmod a+x ~/.git-hooksPath/hooks/xxx
注意:这里设置完之后,必须把项目下的.git删除,重新执行git init
- 全局git hook 更适合团队项目开发,只需要配置一次