git restore 恢复文件状态
`git restore` 是 Git 中用于恢复文件状态的命令。它可以帮助你将文件恢复到某个提交的状态或撤销未暂存的更改。
git restore . 和 git reset . 区别
`git restore .` 用于将工作区的文件恢复到最新的提交状态,丢弃未暂存的更改。
`git reset .` 用于将暂存区的更改重置,但不会影响工作区的文件。它会将所有已暂存的更改移除,即取消`git add`的效果。
总结:
- `git restore .`:恢复工作区文件。
- `git reset .`:重置暂存区文件。
以下是git restore一些常用的用法:
恢复未暂存的更改
如果你想撤销对某个文件的未暂存更改,可以使用:
git restore <文件名>
举个例子:工作区有一个文件a.txt,修改内容后使用git status看下状态

如果我们不想保留修改的内容,就可以使用git restore <file>撤销在工作区的修改。

可以看到,代码已经回退到我们修改之前的状态。
注意:我们也使用git restore .命令撤销工作区的所有文件的修改,但是要慎用。
恢复已暂存的更改
如果你已经将更改添加到暂存区,但想要撤销这些更改,可以使用:
git restore --staged <文件名>
举个例子:当前目录下有三个文件进行了修改,并提交到了暂存区。

我们撤回暂存区的b.txt文件:

可以看到暂存区没有b.txt文件。查看状态可以看到,b.txt文件的状态变成了未跟踪状态。
git restore --source 使用场景
1、恢复已修改但未提交的文件
将文件恢复到最新提交的状态。
git restore --source HEAD <file>
2、恢复特定提交中的文件
从历史提交中恢复文件。
git restore --source <commit-hash> <file>
3、恢复到另一个分支的文件状态
从其他分支获取文件的状态。
git restore --source <branch-name> <file>
4、恢复整个目录
恢复某个目录的状态。
git restore --source <commit-hash> <directory>
这些操作可以帮助开发者在不影响当前工作区的情况下,获取特定版本的文件。

浙公网安备 33010602011771号