它在一个分支上做了七八次提交,还执行了 rebase,历史全乱。

恢复步骤:

  1. git reflog 找到操作前的 commit
  2. 建一个新分支指向那个 commit
  3. cherry-pick 需要的改动

教训:

  • Agent 不该有 git rebase / reset --hard 权限
  • 提交前必须人工看 diff
  • 重要分支开保护,禁止强推

现在我的规则:Agent 只能 add 和 commit,不能 push,不能 rebase。推送和合并我自己来。

这一条限制看起来麻烦,但真出过一次事就知道值。git 的历史是最难恢复的东西。

主楼