git restore 命令
git restore
命令用于还原工作区或暂存区中的文件内容,是 Git 2.23 中引入的一个新命令,目的是让文件恢复操作更明确、更加安全。它取代了原先使用 git checkout
命令来撤销更改的方式,使 Git 操作的语义更加清晰。
你可以使用 git restore
来撤销未提交的修改,或从暂存区、某次提交中还原文件内容到工作区。
命令语法
git restore [选项] <路径>
从暂存区恢复文件到工作区:
git restore <文件>
从某次提交中恢复文件到当前目录:
git restore --source=<提交ID> <文件>
将工作区中的更改撤销为暂存区版本(也就是撤销本地修改):
git restore --staged <文件>
常用选项参数
--staged
:将文件从暂存区移除,恢复到工作区修改状态。--source=<提交ID>
:指定要恢复的源版本(提交对象)。--worktree
:恢复工作区的内容(默认行为)。--patch
:交互式选择要还原的内容块。-s
:--source
的简写。
使用示例
撤销对某个文件的修改(恢复为暂存区的版本):
git restore main.js
撤销所有文件的修改(不影响未暂存的新文件):
git restore .
将某个文 件从暂存区移除(即“取消暂存”):
git restore --staged app.js
从某次提交中恢复某个文件内容:
git restore --source=HEAD~1 index.html
交互式恢复文件内容的部分修改:
git restore --patch style.css