Git 误操作急救手册:5 分钟救回你的代码
Git 误操作急救手册:5 分钟救回你的代码
你是不是也遇到过这些崩溃瞬间:
- git reset --hard 之后发现代码全没了
- git rebase 搞到一半发现搞砸了
- 误删了分支,里面还有没 merge 的代码
- git push -f 把远程仓库覆盖了
别慌,今天教你用 Git 自带的"后悔药"救回代码。
一、git reflog:你的时间机器
git reflog 是 Git 的终极后悔药,它记录了 HEAD 的每一次移动。
查看历史记录:
git reflog
输出示例:
a1b2c3d HEAD@{0}: reset: moving to HEAD~1
e4f5g6h HEAD@{1}: commit: 修复登录 bug
i7j8k9l HEAD@{2}: merge feature-branch
找到你想要恢复的那个 commit hash,然后:
git reset --hard HEAD@{1}
或者用 commit hash:
git reset --hard e4f5g6h
二、误删分支的恢复方法
场景:你删了一个分支,里面还有重要代码
git branch -D feature-branch
恢复步骤:
1. 先用 git reflog 找到该分支最后一次提交的 hash
2. 基于这个 hash 创建新分支:
git branch feature-branch-recovered <commit-hash>
3. 检查代码是否正确,确认后可以重命名:
git branch -m feature-branch-recovered feature-branch
三、git rebase 搞砸了怎么办
rebase 过程中发现不对劲,立即停止:
git rebase --abort
如果已经完成 rebase 但发现问题,用 reflog 找回 rebase 前的状态:
git reflog
git reset --hard HEAD@{1}
四、git stash 救急
临时切换分支但当前修改不想提交:
git stash
查看 stash 列表:
git stash list
恢复 stash:
git stash pop
五、预防胜于治疗
1. 重要操作前先创建备份分支:
git branch backup-branch
2. 使用 git status 确认当前状态
3. 推送前务必 git diff 检查
4. 配置 git alias 快捷命令:
git config --global alias.lg "log --oneline --graph"
最后提醒:
生产环境操作前,先在测试仓库演练一遍。Git 虽然强大,但也要敬畏。
你遇到过最惊险的 Git 误操作是什么?评论区分享一下你的救命经历!
更多推荐




所有评论(0)