Git 使用手册

Git 使用手册

restore

git restore 用于将文件恢复到指定提交的状态。
默认操作 工作区,加上 --staged 参数则操作 暂存区


1. 从哪里恢复

  • 从暂存区恢复(索引)
git restore --source index

⚡ 实际不可以指定--sourceindex

  1. 在没有 --staged 的条件下,source 默认就是 index
  2. 在有--staged的情况下,source 默认为 HEAD。

为什么不支持 index 我想原因也很简单,从暂存区恢复,无非只能恢复到工作区嘛,而且worktree 这个参数也是默认的

git restore --source index --worktree .

那就索性使用 git restore .替换好了

  • 当前分支最新提交:
git restore --source HEAD
  • 本地分支:
git restore --source feature
  • 远程分支的特定提交(倒数第 3 次提交):
git restore --source origin/feature~2

2. 恢复到哪里

  • 工作区(默认):
--worktree
  • 暂存区:
--staged
  • 同时恢复工作区和暂存区:
--worktree --staged

⚡ 同时加 --worktree --staged 的效果等同于“恢复文件 + git add ”。


3. 恢复哪些文件

  • 全部文件:
-- .
  • 指定文件:
-- foo.py bar.py

4. 常用组合示例

# 恢复全部文件到工作区和暂存区
git restore --source HEAD --staged --worktree -- .

# 恢复单个文件到暂存区
git restore --source feature~1 --staged -- foo.py

5. 核心要点

  1. git restore = 把文件恢复到指定提交状态
  2. 不会移动 HEAD,不会生成 commit
  3. 不会产生冲突,安全用于临时回退或 CI 验证
  4. 核心用法就是三类组合:从哪里恢复 + 恢复到哪里 + 恢复哪些文件
posted @ 2025-12-14 11:56  岁叶年华  阅读(3)  评论(0)    收藏  举报