【FAQ】如何部署全局git commit-msg hook,不用每个仓克隆了再去一次次拷贝?

问题:

git和gerrit对接,git commit的时候都提示“missing Change-Id in commit message footer”。知道是因为change-id搞的鬼,也知道从gerrit上或者其他地方拷个commit-msg脚本儿,放到.git/hooks目录下就完事儿了。但是,每次重新克隆时,就有得再来一遍拷贝动作,很低效。

注:

单仓拷贝,不用repo。

方法:

部署本地全局Hook即可:

$mkdir -p ~/.git_template/hooks
$cp commit-msg ~/.git_template/hooks
$git config --global init.templatedir ~/.git_template

参考:
http://git-scm.com/docs/git-config.html

https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

根据提供的引用内容,"husky - commit-msg hook exited with code 1 (error)" 是一个错误消息,它表示在执行 "commit-msg" 钩子时出现了错误。这通常是由于提交消息不符合预定义的规则或格式所导致的。 为了解决这个问题,你可以尝试以下几个步骤: 1. 检查提交消息的格式:首先,你需要确保你的提交消息符合预定义的规则和格式。通常,提交消息应该包含一个简短的描述和一个更详细的说明。你可以参考项目的提交消息指南或规范来了解正确的提交消息格式。 2. 检查 "commit-msg" 钩子脚本:"commit-msg" 钩子一个自定义的脚本,用于在提交消息被保存之前进行验证或修改。你可以检查该钩子脚本是否存在错误或逻辑问题。确保脚本能够正确地执行验证并返回正确的退出代码。 3. 检查 husky 配置:husky 是一个用于管理 Git 钩子的工具。你可以检查 husky 的配置文件,确保 "commit-msg" 钩子被正确地配置和启用。如果配置有误,你可以尝试重新配置或更新 husky。 4. 检查 Git 配置:最后,你可以检查 Git全局或项目级配置,确保没有其他配置钩子脚本与 "commit-msg" 钩子冲突或干扰。你可以使用 `git config --global --list` 命令来查看全局配置,使用 `git config --local --list` 命令来查看项目级配置。 如果以上步骤都没有解决问题,你可以尝试搜索相关错误消息或在项目的文档或社区中寻求帮助。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值