Skip to content

Git 操作指南按场景分类,看完能自己救仓库

每个命令讲清做什么、什么时候用、写错了怎么还原。不要一慌就删目录重克隆。

先别慌

误操作之后,按这个顺序,先诊断再动手

  1. 停下。 不要再 reset --hard、不要 push --force、不要删文件夹重 clone
  2. 拍照。 把下面四条的输出留着(复制到备忘录即可):
bash
git status
git reflog -20
git stash list
git branch -vv
  1. 对号入座。 打开 急救手册,按「我刚刚做了什么」查找,不要按命令名瞎试。

多数「代码没了」其实还在:只要进过暂存区或生成过 commit,reflog 通常能找回。真正救不回的主要是:从未 add 过的工作区改动,以及 git clean -fd 删掉的未跟踪文件

怎么读

你的情况从这里开始
第一次系统学,或经常分不清暂存区和提交00 · 三区与提交图
会 commit / push,但怕 reset、rebase06 · 改写历史 + 12 · 急救
刚把仓库搞乱,只想救回来12 · 急救手册
记得命令但忘参数99 · 速查表

读任何命令时,先看它的改动范围(工作区 / 暂存区 / 本地历史 / 远程)。只改本地、尚未 push 的,几乎都能还原;已经进共享分支的,优先 revert,不要改写历史。

三条铁律

  1. 共享历史上只增加、不改写。 已推到 main / 别人正在用的分支,用 git revert,不要 reset + push --force
  2. 破坏性命令先演练。 clean-nreset --hardstash 或确认 reflog,强制推送只用 --force-with-lease
  3. 不确定就先 status + reflog 这两条比任何「万能命令」都安全。

示例统一使用远程名 origin、默认分支 main、功能分支 feature/login。把它们换成你仓库里的真实名字即可。