git的commit-msg 钩子里校验 提交信息的格式,合理吗?

发布于 2022-09-13 01:01:30 字数 73 浏览 24 评论 0

执行git pull的时候, 发现也会触发 commit-msg 钩子,但是此时 msg信息为空,不能通过校验规则。 所以该怎么办?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我是有多爱你 2022-09-20 01:01:30

默认情况下 git pull = git fetch + git merge.

git fetch 会同步远端代码
git merge 才会触发 commit-msg 勾子。

commit-msg
This hook is invoked by git-commit and git-merge, and can be bypassed with the --no-verify option.
该 hook 会在 git-commit 和 git-merge 时被调用。

https://git-scm.com/docs/gith...

所以具体的原因是:将远端代码同步后,远程分支与本地分支的共同祖先节点并不是本地分支,git merge 时会产生一个合并提交(将自动生成提交信息。例如:Merge branch 'develop' into 'master'),而你将该信息删除,故 msg 为空,导致校验不通过。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文