Git提交时如何避免把调试代码误提交到主分支?

东方冠羽 阅读 19

我们团队用的是 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 配置能帮我避免这种低级错误?

我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
凡敬 Dev
最简单的办法是用 pre-commit 钩子来检测并阻止提交。下面这段脚本可以搞定:

#!/bin/bash
if git diff --cached -G'console.log' | grep -q 'console.log'; then
echo "检测到 console.log,提交被拒绝"
exit 1
fi


把这脚本放到 .git/hooks/pre-commit 就行了,记得给执行权限。虽然有点简单粗暴,但真能解决问题。每次想偷懒的时候它就会提醒你:别乱搞,删掉那些调试代码。
点赞
2026-03-28 00:03