2013-10-22 57 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存儲庫。