2016-04-04 40 views
0

當我做一個$ git狀態,git顯示我的文件夾(除了文件)。它看起來類似於這樣:git狀態顯示文件夾 - 沒有擴展

$ git status 
On branch master 
Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    example.folder1/ 
    example.folder2.subfolder1/ 
    folder3/bar.c 
    folder3/bar.h 
    foo.c 
    foo.h 

目前沒有跟蹤的文件(它們含有被忽略的文件雖然):

example.folder1/ 
    example.folder2.subfolder1/ 

,所以我可以只添加這些目錄的.gitignore但我還是想要追蹤這些目錄,以防有人向這些文件夾添加跟蹤文件(例如* .c * .h)。

如何忽略這些文件夾,如果它們不包含被跟蹤的文件?爲什麼這些文件夾出現?它只發生在一些文件夾中,並非全部。

+1

您是否檢查過它們是否包含隱藏文件?除了包含未跟蹤文件外,我不知道這種行爲的可能原因。 – Frax

+0

你確定你忽略了子文件夾中的文件嗎?例如,'/ *。foo'忽略'/ abc.foo'而不是'/ example.folder1/abc.foo'。請參閱[這裏](https://git-scm.com/docs/gitignore)瞭解更多信息。 – mkasberg

+0

@Frax沒有隱藏文件! – TriceratopsMagician

回答

0

這些文件夾包含未被忽略的未跟蹤文件。如果你想從「未跟蹤」列表中刪除的文件夾,您可以:

  • 將文件夾添加到gitignore,
  • 或添加的所有文件夾的gitignore英寸

換句話說,只要其中有一個或多個未被忽略的未跟蹤文件,該文件夾就會繼續顯示爲未跟蹤文件。

+0

你說得對。有一種我沒有添加到.gitignore的文件類型。後續問題:不應該git狀態單獨顯示這些文件,而不僅僅是目錄? – TriceratopsMagician

+1

如果目錄中的所有文件(未被忽略)都未被跟蹤,那麼git將只顯示未跟蹤的目錄。如果有改變這一點的選擇,我不確定我的頭頂是否有問題。但是你可以'cd'進入目錄並再次運行git狀態。 – mkasberg

+0

那很有意思。我忽略了* example.folder1/*中的一些文件類型,但留下了一個文件類型(一個.xml文件在該特定文件夾中:* merkur.xml *)。 Git仍然會顯示目錄*/../example.folder1/*和**而不是** */../example.folder1/merkur.xml *。我的假設是,我在* .gitignore *中做了一些奇怪的事情,或者在* git add *過程中犯了一個錯誤。 – TriceratopsMagician