2009-12-22 146 views
38

我在GitHub上有一個倉庫(http://github.com/hrickards/PHP-Crypto),有一個小項目我和其他幾個人正在研究。我的開發環境是Aptana Studio,我使用EGit插件,因爲Aptana基本上就是Eclipse。今天,設計師將網站的HTML和CSS發送到名爲img的文件夾中。以前,圖像位於名爲圖像的文件夾中。我什麼都不想,也懶得更新CSS和HTML,我只是把這些圖像保存在img目錄中,並提交給Git。但是,GitHub Web界面顯示了img和images目錄,images目錄爲空。我試過用git rm -r imagesgit rm images甚至mkdir images; git add images; git rm -r images刪除圖像目錄,但無論我嘗試我得到相同的結果: fatal: pathspec 'images' did not match any filesGit刪除目錄

有沒有人有關於如何刪除圖像的任何建議,或者我誤解Git或什麼?

回答

39

Git不存儲關於該目錄的任何信息,只是其中的文件。所以,你不能自己添加或刪除目錄;如果你說git add images,Git將添加該目錄內的所有文件(與忽略列表不匹配)。

通常情況下,存在空目錄的唯一方法是它實際上是否包含文件,通常是隱藏文件,如.gitignore

你說你在GitHub上看到一個images目錄,但我沒有看到它鏈接到的回購站。你確定它在那裏,而不僅僅是磁盤上的空目錄嗎?如果它只是磁盤上的空目錄,則可以使用rm images將其刪除; Git不需要知道它。

+0

你是對的 - 現在不存在。它絕對不在我的磁盤上,所以我只能假設我的瀏覽器Chrome瀏覽器已經緩存了頁面或者甚至當我刷新它時。它有這樣做的習慣。無論如何感謝您的幫助! – hrickards 2009-12-22 17:33:45

+0

@hrickards如果你想強制使用chrome(我認爲它也適用於其他瀏覽器,但是我沒有測試它)來完全重新加載頁面,請按[CTRL] + F5。 – 2014-07-22 19:14:21

3

鏈接的GitHub存儲庫不顯示圖像目錄。

由於技術原因Git不存儲空目錄,因此只需嘗試rm images並從本地目錄層次結構中刪除圖像目錄。

+0

嗨,如上所述,我認爲Chrome瀏覽器必須緩存頁面,即使我F5'ed它或什麼的。無論如何感謝您的幫助! – hrickards 2009-12-22 18:19:48

39

試試這個:

git rm -r -f DirectoryName 
+15

它身體消除! – quux 2013-07-16 20:15:24

+23

'git rm -r -f --cached DirectoryName' <<<用這個離開本地拷貝! – Sk606 2014-01-02 17:17:47

+2

@ Sk606:你可以將它作爲單獨的答案發布嗎?你會得到upvotes(至少從我),因爲這是真正的解決方案:) – Sk8erPeter 2014-04-04 21:24:34

41

這是我使用的東西,我想你會想爲好。它接近於其他答案,但指示git不更改本地文件。

git rm -r -f --cached DirectoryName 
  • -r:遞歸
  • -f:力
  • --cached:只適用於指數(臨時區域)。 Git獨自離開本地副本。