2013-10-22 32 views
0

我在git init后添加了一堆文件。现在我注意到我犯了一个错误,想立即撤消所有这些。我怎样才能做到这一点?如何在git init后撤销git add files

$ git init 
$ git add . 
$ git status 
# On branch master 
# 
# Initial commit 
# 
# Changes to be committed: 
# (use "git rm --cached <file>..." to unstage) 
# 
# new file: .DS_Store 
# new file: .gitignore 
# new file: .idea/.generators 
# new file: .idea/.name 
# new file: .idea/.rakeTasks 
# new file: .idea/DAM.iml 
... 

git rm --cached <file>将需要单独指定所有文件。我想用一个命令来完成它。可能吗?

我做了git reset HEAD,但它没有帮助。

$ git reset HEAD 
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions 

回答

2

你得到了正确的命令。 (在这个特例中除了reset,因为你还没有HEAD - 因为没有提交,但reset通常会工作)。

你唯一想念的就是Git可以采用全局模式。

git rm --cached * 

所以这样你就不必单独传递每个文件。请注意,第一次提交后,您将需要使用软reset(git rm也会删除提交的文件)。

+0

我按照你的建议尝试过,但它不适用于子文件夹。输出告诉我把-r(递归地)作为'git rm -r --cached *'。它像一个魅力。 – chawarong

0

如果它是一个新的存储库,您可以删除项目中的.git文件夹,然后再次初始化git存储库。