2015-11-04 98 views
1

我的家庭文件夾中有一個git repo。我試圖不包括我的主文件夾的基本全部,除了我的.vim文件夾。如何git忽略一切,但一個文件夾?

在我的.gitignore,我有

* !.vim

的問題是,這只是增加了.vim目錄到我的git回購,而不是它的文件和子目錄(及其文件和子目錄, 等等)。我想有.vim和它的所有子文件和子目錄到我的git倉庫中。如何更改此.gitignore所需的行爲?

+2

爲什麼不讓你的.vim文件夾成爲git倉庫? – Schwern

回答

1

*包括當前目錄,所以你被咬傷這個「!」

可選前綴否定了這種模式;任何先前模式排除的匹配文件將再次包含在內。 如果排除該文件的父目錄,則不可能重新包含文件。出於性能方面的考慮,Git沒有列出排除的目錄,因此無論它們在何處定義,包含文件的任何模式都無效。

我不知道有什麼辦法說「一切都在頂層目錄除了頂級目錄」。

如果你只想把.vim放到Git中,你應該把你的Git倉庫放到.vim

2

如果要排除一個文件夾內容,你就需要排除第一文件夾(因爲parent directory rule):

* 
!*/ 

然後你就可以排除.vim/文件夾的內容:

!.vim/**