首页/开发/Git 与协作速查/git restore 复原文件与暂存区
Git 基础与命令88 条

git restore 复原文件与暂存区

复原工作区或暂存区:默认丢弃工作区改动,--staged 取消暂存,--source 从历史版本取回内容。

Git 与协作速查开发更新于 2026-10-12
默认用 HEAD 版本覆盖工作区(丢弃未提交改动)
--staged取消暂存,保留工作区内容
-s/--source指定来源提交;-p 交互选择

常用示例

常用示例
git restore app.py                 # 丢弃工作区改动
git restore --staged app.py         # 取消暂存
git restore --source HEAD~2 -- app.py
git restore -p -- app.py
丢弃工作区改动不可通过 reflog 找回(改动没有进入过对象库),执行前确认文件内容无需保留。

易错点

  • restore 默认目标是工作区,容易与 --staged 记反;执行前先用 git status 对齐预期
  • 未跟踪文件 restoration 不适用,需要 git clean 清理

数据来源与参考

  • Git 官方文档:git-restore
  • Git 2.23 发行说明(restore/switch 引入)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌