Git 误操作急救手册:5 分钟救回你的代码

张开发
2026/4/12 8:01:48 15 分钟阅读

分享文章

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~1e4f5g6h HEAD{1}: commit: 修复登录 bugi7j8k9l HEAD{2}: merge feature-branch找到你想要恢复的那个 commit hash然后git reset --hard HEAD{1}或者用 commit hashgit reset --hard e4f5g6h二、误删分支的恢复方法场景你删了一个分支里面还有重要代码git branch -D feature-branch恢复步骤1. 先用 git reflog 找到该分支最后一次提交的 hash2. 基于这个 hash 创建新分支git branch feature-branch-recovered commit-hash3. 检查代码是否正确确认后可以重命名git branch -m feature-branch-recovered feature-branch三、git rebase 搞砸了怎么办rebase 过程中发现不对劲立即停止git rebase --abort如果已经完成 rebase 但发现问题用 reflog 找回 rebase 前的状态git refloggit reset --hard HEAD{1}四、git stash 救急临时切换分支但当前修改不想提交git stash查看 stash 列表git stash list恢复 stashgit stash pop五、预防胜于治疗1. 重要操作前先创建备份分支git branch backup-branch2. 使用 git status 确认当前状态3. 推送前务必 git diff 检查4. 配置 git alias 快捷命令git config --global alias.lg log --oneline --graph最后提醒生产环境操作前先在测试仓库演练一遍。Git 虽然强大但也要敬畏。你遇到过最惊险的 Git 误操作是什么评论区分享一下你的救命经历

更多文章