2011-01-09 91 views
113

我错误地使用命令“git add dir”添加了文件。我还没有运行“混帐提交”。有没有办法从提交中删除该目录以及其中包含的所有内容?我试过git reset dir,但它没有工作。显然git reset file是撤消它的方法。但是我有很多文件和很短的时间。撤消“git add <dir>”?

+3

`git reset `更新该路径的索引,以便它匹配`HEAD`(当前提交)。它不会触摸工作树。 – Cascabel 2011-01-09 14:56:49

回答

182

若要从索引中删除一个目录,里面的一切吧,

git rm --cached -r dir

--cached开关使得git rm OPE仅在索引上的费率,而不会触及工作副本。 -r开关使其递归。

+0

这个命令为我工作。谢谢。 – neoneye 2011-01-09 12:33:41

14

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

如果该目录已经跟踪你必须手动找到新的和旧文件和unstage他们...

可能运行后git reset <dir>重置现有的(并且已经跟踪)文件的目录内

+0

这工作对我来说 – 2017-04-04 16:07:26