· 5 min read
git restore 和 revert 都能"撤销",但操作对象和历史影响完全不同。
- restore:操作文件(工作区/暂存区),不产生 commit
- revert:操作某次 commit,必须新 commit
- 核心差异:restore 改文件,revert 反做 diff
- 进阶用法:
restore --source=<sha>+ commit,文件 = 目标版 - 不能用 revert 退旧版:revert 只反补丁,无法对齐到任意 commit
- preserve history:替代
reset --hard,免 force-push





