Git误操作急救手册大纲

常见误操作场景分类
  • 工作区文件误删或修改丢失
  • 暂存区(add)误操作
  • 本地提交(commit)相关错误
  • 分支操作失误(误删/强制推送)
  • 远程仓库数据问题
工作区文件恢复

git checkout -- <file> 撤销工作区修改
git restore <file> (Git 2.23+)恢复未暂存文件
git clean -fd 清理未跟踪文件

暂存区操作回退

git reset HEAD <file> 取消特定文件暂存
git restore --staged <file> 撤销add操作
git reset --soft HEAD^ 保留修改回退到add前状态

提交历史修改

git commit --amend 修改最近一次提交
git rebase -i HEAD~3 交互式修改多个历史提交
git revert <commit> 生成反向提交撤销指定更改

分支误删恢复

git reflog 查找被删分支的最后commit
git checkout -b <branch> <commit> 根据reflog恢复分支
git fsck --lost-found 找回悬空对象中的丢失提交

远程仓库修复

git push -f 强制推送的风险与应对方案
git push origin --delete <branch> 远程分支误删后的恢复流程
仓库镜像备份与恢复策略

数据恢复进阶

.git/objects 目录手动恢复原理
git fsck 完整仓库检查工具
使用git cherry-pick重组零散提交

预防措施

.gitignore 规范配置
git config --global alias.safe 设置安全别名
定期备份.git目录策略
GUI工具中的安全确认选项设置

急救流程图

附可视化操作决策树(根据错误类型指向对应解决方案)

附录:危险命令清单

强制推送、硬重置等命令的红色警告标识
--force-with-lease等安全替代方案说明

注:所有命令需标注适用Git版本和具体场景限制条件,关键操作前强调备份重要性。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐