我的 Git 分支管理实践
读完 Pro Git 后整理出的一套个人工作流。不是最佳实践,是这几年踩坑后觉得用得最顺手的方式。
分支命名约定
所有功能分支前加类型前缀,方便检索和归档:
feat/user-profile-edit
fix/login-token-expire
refactor/extract-config-loader
docs/setup-guide-v2
前缀只用四种:feat / fix / refactor / docs。chore 之类的我都归到 refactor,太多前缀反而记不住。
rebase 还是 merge
本地分支和别人无关 → 拉主干用 rebase,让 commit 历史是直线。已经 push 上去的分支跟人协作过 → 老实 merge。原则其实只有一条:不要 rebase 别人也在用的分支。
我自己的常规流程:
# 工作前同步主干
git fetch origin
git rebase origin/main
# 工作中频繁 commit
git commit -m "wip: ..."
# 提 PR 前整理 commit 历史
git rebase -i origin/main
交互式 rebase 把 wip 们 squash 到一起,再写一条规范的提交信息。
提交信息
写得啰嗦还是简洁取决于读者。被自己将来读 → 写清楚 why;被同事 review → 标题就够。我个人套 Conventional Commits 但不严格,只保留最有用的几个 type:
feat: 新功能
fix: bug 修复
refactor: 不改外部行为的重构
docs: 文档
test: 测试代码
不写 chore / style / perf 这些,因为它们大都能归到上面四个里。
本地 hook 防误提交
在 .git/hooks/pre-commit 加一条防止误提密钥的检查:
#!/bin/sh
if git diff --cached | grep -E "(api[_-]?key|secret|password|token)\s*=\s*['\"][^'\"]{10,}" ; then
echo "可能的密钥泄漏,请检查"
exit 1
fi
简单粗暴,误报偶尔有,但拦住过两次 .env 误提,值得。
小结
工作流没有标准答案,每个人能稳定执行的就是好工作流。重要的是有意识,而不是命令熟练。
← 返回首页