git add . 将工作区的改动添加到了暂存区。
git restore . 默认只恢复工作区 的文件到最近一次提交(HEAD)的状态,暂存区不受影响。
也就是说,执行后工作区的文件会被覆盖回上次提交的样子,但暂存区依然保留着之前 git add 的内容。下次 git commit 仍会提交那些暂存的改动。
**仅撤销暂存(取消 git add)** → 使用
执行后,文件会从暂存区 移出,但修改仍然保留在工作区。
git restore --staged .
同时放弃工作区和暂存区的所有修改(彻底回到上次提交状态)→ 使用
git reset --hard HEAD
注意:这个操作不可逆,会丢失所有未提交的更改。
先取消暂存,再恢复工作区 (相当于完整还原到 git add 之前的状态)→ 组合使用:
git restore --staged .
git restore .
总结:
| 目标 | 命令 |
|---|---|
| 取消暂存(保留工作区修改) | git restore --staged . |
| 放弃工作区修改(保留暂存) | git restore . |
| 完全还原到上次提交 | git reset --hard HEAD |


121
121