撤消“git add <dir>”?</dir>

时间:2011-01-09 12:25:28

标签: git git-reset

我使用命令“git add dir”错误地添加了文件。我还没有运行“git commit”。有没有办法从提交中删除此目录及其中包含的所有内容?

我尝试了git reset dir,但它没有用。显然git reset file是解除它的方法。但是我有这么多文件而且时间很少。

5 个答案:

答案 0 :(得分:246)

从索引中删除目录及其中的所有内容,

git rm --cached -r dir

--cached开关使git rm仅对索引进行操作,而不是触及工作副本。 -r开关使其递归。

答案 1 :(得分:14)

您需要使用git rm --cached -r <dir>。此命令将从索引中删除暂存的目录内容。

如果已经跟踪了目录,则必须手动查找新旧文件并取消暂存...

之后可能运行git reset <dir>以重置目录中的现有(和已经跟踪的)文件。


更新2019:

只需运行git reset directory,它就会取消暂存所有新添加的文件。

答案 2 :(得分:11)

使用findxargs

find dir -type f | xargs git reset

答案 3 :(得分:5)

$ git add <dir>

取消暂存我暂存的所有文件和文件夹:

$ git status

以上内容已通过以下方式得到确认:

$ git diff --staged --name-only 

$git diff --staged --name-only

在git add命令之后,以确认文件和文件夹为“要提交的更改”。

运行我使用的git reset命令后:

Proxy

确认以前暂存的文件夹或文件都没有暂存。

答案 4 :(得分:1)

一个简单的命令来删除尚未提交的暂存文件/文件夹-git restore --staged <dir>

enter image description here

相关问题