Git 常用操作与分支管理心得

Git 用了挺久,但一直停留在 add/commit/push 三板斧。最近专门花时间把分支管理和历史整理搞明白了,记录心得。

一、日常高频命令

git status                 # 随时看状态, 养成习惯
git add -p                 # 交互式分块暂存, 提交更干净
git commit -m "说明"        # 提交信息写"为什么"而不是"做了什么"
git log --oneline --graph  # 图形化看历史
git diff / git diff --staged

二、分支模型

我的简化版分支习惯(个人项目够用):

git switch -c feature/login   # 创建并切换分支
git switch main
git merge feature/login       # 合回主干
git branch -d feature/login   # 删除已合并分支

三、merge 还是 rebase

这是最容易纠结的点,我的理解:

铁律:已经 push 出去的提交不要 rebase。rebase 只用于整理"还没分享的本地提交"。

个人习惯:合入主干前用 git rebase -i 把零碎的 wip 提交压成一个有意义的提交,再 merge 回 main。

四、冲突解决思路

  1. 冲突不是错误,是 Git 把决定权交给你;
  2. 打开冲突文件,找 <<<<<<< 标记,看清两边各改了什么;
  3. 改完后 git add 标记已解决,再继续 merge/rebase;
  4. 解决完一定要跑一遍程序确认没改坏。

五、后悔药

git restore file.txt        # 丢弃工作区修改
git restore --staged file   # 取消暂存
git commit --amend          # 修补上一次提交 (未 push)
git reflog                  # 终极后悔药, 找回"丢失"的提交

reflog 记录 HEAD 的每一次移动,几乎任何误操作都能靠它找回来,新手最该记住的命令就是它。

六、小结

Git 的核心是"提交是有意义的快照"。提交粒度合适、信息写清楚、分支命名规范,后面所有的协作和回滚都会顺。