使用 pre-commit hook 提高本地开发效率
编辑
332
2023-06-11
背景
有些编辑器检查不了的错误或者没有强提醒的错误(例如循环引包),在开发时不容易发现,代码提交后才发现编译不了。利用 git 的 hook 功能,在 commit 前就检查代码是否能编译通过,能够保证提交的代码一定能编译通过,也节省了来回 debug 的时间。
实现
在提交前实现一种 dry-run 的机制,确保代码能编译通过。如果有 Makefile,可以添加一个dry-build
的 target,例如:
.PHONY: dry-build
dry-build:
go build -o deploy/xxx cmd/xxx/main.go && rm deploy/xxx
然后编写一个 shell 脚本,命名为 pre-commit
。
#!/bin/bash
make dry-build
if [[ $? -ne 0 ]]; then
echo ">>>>>>>> 编译失败, 需要修复后再进行push"
exit 1
fi
echo ">>>>>>>> 编译成功"
exit 0
然后将该脚本移动到.git/hooks
目录下。在编译失败时,会阻止 commit。
参考
- 0
- 0
-
赞助
微信赞赏码 -
分享