为了将项目从暂存区恢复,我们使用
git reset filename或git reset .
。但是,在执行git status
后,git也会给我一个提示(如下所示)。Changes to be committed:
(use "git restore --staged <file>..." to unstage)
这也是从暂存区中移除文件的一种方法。
另外,为了撤销更改,有一个已知的命令。
git checkout filename
然而,可以使用 git restore 文件名
来达到相同的效果。
它们之间的根本区别是什么?为什么 git 推荐使用 git restore?
git restore
。 - Jatin Mehrotragit restore
在很大程度上是“git checkout
的一半”。另一半在git switch
中:这两个新命令在 Git 2.23 中作为一个实验引入,旨在将过于复杂的git checkout
命令拆分为两个更简单、更易于使用的命令。VonC 在链接问题中的回答提供了更多的历史信息(包括git restore
中的一个重要错误修复)。 - torek