2010-11-29 242 views
43

如何從Git倉庫中刪除已刪除的文件?Git在提交後仍然顯示已刪除的文件

我已經刪除了包含許多文件的JavaScript庫文件夾。然後我去做了這樣的變化:

git add . 
git commit "message" 
git status 

但它顯示所有這些文件爲「刪除....」。

我該如何讓它們消失?

+1

可能的重複[從Git中刪除「已更改但未更新」的所有已刪除文件](http://stackoverflow.com/questions/3169787/remove-all-deleted-files-from-changed-but-not-更新在git) – 2010-11-29 20:36:18

+0

可能重複的[我如何提交所有在Git中刪除的文件?](http://stackoverflow.com/questions/1402776/how-do-i-commit-all-deleted-files-in -git) – Ben 2013-08-29 11:51:28

回答

27

如果列出了文件「承諾「部分,然後繼續進行提交;這些文件將保持被刪除。 (Git跟蹤刪除過,不只是改變)

如果它列出的文件的「改變,但沒有更新」部分,那麼你有兩個選擇:

  1. 由恢復版本取消刪除指數:git checkout path/to/folder
  2. 馬克他們在Git中刪除,然後提交:git rm -r path/to/folder
+2

我看到了,如果我已經刪除了多個(很可能多達幾十個)分散在不同文件夾中的小文件,我是否必須爲每個文件夾執行git rm?有沒有捷徑?謝謝 – 2010-11-29 21:10:06

+4

假設你沒有其他更改舞臺,或者不介意分級,`git add -u`會立即刪除所有的刪除。 – cdhowie 2010-11-29 21:11:09

6

你需要記錄它們確實是要刪除的。與記錄文件更改的方式相同。您可以使用git rm而不是git add

1

你需要告訴git的,它被刪除

git rm folder 

,或者如果你不想讓他們在回購您可以在添加他們的.gitignore

99

這將添加刪除也是如此。

git add -u . 

檢查什麼的上演與承諾:

git status 
8

混帳添加-u。

如果鍵入git的狀態,結果說最新,但在紅色,它說

刪除:文件夾/ example0.jpg
刪除:文件夾/ example1.jpg
刪除:文件夾/ example2.jpg

您需要輸入此代碼才能永久刪除它「git add -u。」 然後所有的紅色文字將被標記爲綠色。

****不要忘了信ü期間

0

假如說你要刪除一個文件,也不會希望它致力於之間的空間:

使用命令:

git的重置頭名

,然後做一個混帳小號tatus覈實,如果要刪除的文件沒有出現

然後做一個git的承諾

0

,我發現自己有意外的「已刪除」文件夾後,我一下「rm XXX」來刪除一些本地文件。

我首先創建一個臨時分支並提交不想要的「已刪除」文件夾,然後刪除該臨時分支。