如何为Azure Repos添加pre-commit检查的Git hook脚本及相关问题
Azure Repos pre-commit Git hook配置常见问题解答
操作前置要求
- 你拥有对应Azure Repos仓库的贡献者及以上权限,可正常提交代码变更
- 本地开发环境已安装Git,且完成Azure Repos的身份认证(SSH密钥或Git凭据管理器配置完成)
- 若使用pre-commit框架,需提前在本地安装Python环境及
pre-commit依赖包,安装命令为pip install pre-commit - 所有需要应用hook规则的开发人员,都需要在本地完成一次配置操作,原生Git hook不会随
git clone自动同步到本地环境
Git hook脚本存放规则
原生Git hook默认存放在本地仓库的.git/hooks目录下,该目录不会被Git追踪,无法直接提交到Azure Repos共享给团队成员。
如果需要全团队共用hook脚本,需要在仓库根目录单独创建专属的可追踪文件夹存放脚本,行业通用命名为.githooks,将所有pre-commit等hook脚本放入该目录后提交到Azure Repos即可。
具体添加pre-commit hook的操作步骤
- 在本地仓库根目录创建共享hook目录:
mkdir .githooks - 将编写完成的pre-commit脚本放入
.githooks目录,注意脚本命名必须为无后缀的pre-commit,同时为脚本添加执行权限:chmod +x .githooks/pre-commit(Windows环境使用Git Bash执行该命令同样生效) - 配置Git使用自定义hook目录,该配置仅对当前本地仓库生效:
git config core.hooksPath .githooks
团队其他成员拉取代码后执行一次上述配置命令即可应用hook规则,你也可以将该命令写入仓库的快速入门文档,或者额外编写一键配置脚本降低操作成本。 - 提交配置到Azure Repos:
git add .githooks git commit -m "add pre-commit hook configuration" git push origin <你的目标分支名>
如果使用pre-commit框架可以简化操作:你只需要在仓库根目录编写.pre-commit-config.yaml规则配置文件,执行pre-commit install即可自动完成本地hook配置,将配置文件提交到Azure Repos后,其他成员拉取代码执行一次pre-commit install就能应用所有检查规则。
内容的提问来源于stack exchange,提问作者AzureDevOpsBeginner
相关产品推荐
相关产品推荐

