Git提交时如何避免把调试代码误提交到主分支?
我们团队用的是 Git Flow 工作流,最近好几次不小心把本地调试用的 console.log 提交到了 develop 分支,CI 都报错了。明明记得自己删了,但 git diff 又没显示这些行被修改过,是不是缓存的问题?
比如这段代码,我本地改完功能后会临时加个 log 调试,但提交前都手动删掉了:
function handleSubmit(data) {
console.log('调试用:', data); // 这行本该删掉再提交
return api.post('/submit', data);
}
有没有办法在 pre-commit 阶段自动检测并阻止包含 console.log 的代码被提交?或者有什么 Git 配置能帮我避免这种低级错误?
记得给这个脚本执行权限:chmod +x .git/hooks/pre-commit
不过提醒下,这种正则匹配不是万能的,要是你用了变量拼接的方式写 log 还是能绕过检测。最好还是养成提交前仔细 review 的习惯。
顺带说一句,我以前也老犯这种错误,后来发现 pre-commit hook 真香,至少能挡住大部分手滑情况。
把这脚本放到 .git/hooks/pre-commit 就行了,记得给执行权限。虽然有点简单粗暴,但真能解决问题。每次想偷懒的时候它就会提醒你:别乱搞,删掉那些调试代码。