12
0
0
Git 自救笔记:amend、reflog、rebase 卡住怎么办
自己的 Git 急救本,好几次都是靠它捡回来的。按「平时怎么用」和「出事怎么救」分两块。
日常顺手
git pull --rebase origin main—— 拉代码保持线性历史,别 merge 出一堆泡泡git status -sb—— 短格式,一眼看清领先落后几个 commitgit log --oneline --graph -10—— 分支走向图git add -p—— 按块挑改动,别整包塞(代码评审前整理提交很关键)
救命区
1. 提交信息写错了,还没 push
git commit --amend -m "正确的提交信息"2. 改了一堆文件,只想撤掉其中一个
git checkout -- src/App.tsx3. 误删分支 / reset 过头
git reflog 是后悔药——HEAD 的每一次移动都记着,找到 hash 就能重建:
git reflog
git branch recover abc1234上次 reset --hard 丢了半天工作,就是从 reflog 里捞回来的。
4. rebase 卡住/搞乱
git rebase --abort # 直接回 rebase 前的状态
# 冲突时:解决完 git add && git rebase --continue坑(都是亲测)
- ⚠️ 千万别对已 push 的公共分支 amend——团队所有人都得强推重来
- ⚠️ stash 用完记得
stash pop,之前一次攒了 7 个 stash,分不清哪个是要的 - ⚠️
reset --hard前先git stash或记一下当前 HEAD,reflog 能救但别赌 - ⚠️ 想找回「已提交但被 amend 掉」的内容:reflog 里找旧 commit 的 hash