我以前使用git reset
来取消单个文件的暂存,但是我经常发现在提交之前需要取消多个文件的暂存。是否有一种命令可以取消所有已暂存的文件?我在文档中找不到它(http://git-scm.com/docs/git-reset)。
我以前使用git reset
来取消单个文件的暂存,但是我经常发现在提交之前需要取消多个文件的暂存。是否有一种命令可以取消所有已暂存的文件?我在文档中找不到它(http://git-scm.com/docs/git-reset)。
git status
通常会显示选项,例如:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: someFile.txt
modified: someDir/someOtherFile.txt
git reset HEAD
编辑
自Git 2.23版本起,您可以使用git restore --staged
。 git restore
还可以从另一个提交中恢复工作树文件(-s
),并以交互方式运行(-p
)。 还有更多有趣的选项可用。请参见git restore
文档。
试试这个:
git reset HEAD .
git status
时。6:16:17 {proj_main} ~/git/proj_main$ git status
On branch proj_main
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: sub_proj/.project
git reset --soft HEAD
没有效果。软重置意味着你将 HEAD
重置到另一个提交,但不会重置索引或工作目录。在你的情况下,你想要将 HEAD
重置到的提交是 HEAD
。因此没有效果。 - René Link
git restore --staged :/
将工作树中所有已暂存的文件恢复到“未暂存”状态。然后git restore :/
会丢弃未暂存的更改。请注意,使用git mv
创建的任何文件仍将存在。 - user9645