本文件定义 Aether3D 的唯一官方回滚方式,用于多人协作与事故处理。
- main 分支永不改写历史
- 回滚必须留下痕迹
- 修正 > 删除
- main 分支
- 已 push 的 feature 分支
- 已合并 PR
- 任何公共历史
- 仅限 feature 分支
- 且 commit 从未 push 到远端
git checkout -b rollback/<reason>
git revert <commit_sha>
# 如有冲突,解决后:
git commit
git push origin rollback/<reason>
→ 创建 PR → Review → 合并仅在 main 存在 merge commit 时:
git revert -m 1 <merge_commit_sha>PR 描述必须说明:
- 为什么 revert merge
- 影响范围
- 是否需要后续补救 PR
仅用于查看:
git checkout phase0❌ 禁止:
git reset --hard phase0git rebase phase0
允许场景:
- API Key / Token 泄露
- 法律 / 合规风险
- 严重数据破坏
处理顺序(必须):
- 立即吊销 / 轮换密钥
- 再处理 Git 历史
- 记录 incident(原因 + 影响 + 修复)
- revert 一个 revert(会重新引入 bug)
- 在 main 上 rebase
- 使用 --force-with-lease 伪装安全
- 回滚不走 PR(破坏审计)