Git 实用技巧与避坑指南
Git 是每个开发者的基本功,但很多人只用到 add、commit、push 三板斧。其实 Git 有很多能救命、能提效的操作。这篇把我日常真正用到的技巧总结一下,都是血泪换来的经验。
rebase 还是 merge?
这是个老生常谈的话题。我的习惯是:功能分支上尽量用 rebase 同步主干,保持提交历史的线性清晰;合回主干时用 merge 保留合并记录。团队里只要统一约定,两种方式都没问题,最怕的是混用导致历史一团糟。
交互式 rebase:整理你的提交
开发过程中难免产生「改个错别字」「补个文件」这类琐碎提交。合入主干前,用 git rebase -i 把这些提交 squash 成干净的一个,历史会清爽很多。注意:只整理尚未推送的本地提交,已经推送的别乱动。
stash:临时切换的救星
写了一半要切分支改紧急 bug?git stash 一键暂存当前改动,处理完再 git stash pop 恢复。进阶用法:stash 也可以带说明(git stash save "说明"),或者用 git stash list 管理多个暂存。
bisect:二分定位 Bug
「这个功能上周还是好的,这周就坏了」——遇到这种问题,git bisect 是你的好帮手。它会在提交历史里自动二分查找,逐步缩小范围,帮你快速定位引入 Bug 的那次提交。
几个常见的坑
- 强推(force push)要谨慎:推送前先确认没有别人在基于你的分支工作,最好用
--force-with-lease代替--force,避免覆盖别人的提交。 - 敏感信息进仓库:密钥、密码一旦提交进历史,删文件也删不干净,一定要用工具处理历史,更要从源头杜绝。
- 大文件进仓库:二进制文件和大文件会让仓库越来越臃肿,应该用 Git LFS 或干脆不进版本库。
最后
Git 的文档很全,但最好的学习方式是在真实项目里反复用。把这些技巧变成肌肉记忆,日常开发会顺滑很多。
← 返回首页