2015-10-20 55 views
1

我在vcshmr的幫助下跟蹤和版本化我的點文件。如上所示,我讓vcsh創建一個預定義的.gitignore文件來忽略我的.vim目錄以外的不需要的文件。 但是,現在我想修改它,以便它不會忽略我的.vimrc和我的~/.vim-文件夾及其所有子目錄。.gitignore白名單vim文件夾

目前,這是我的.gitignore的內容:

* 
!/.gitignore.d 
!/.gitignore.d/vim 
!/.vimrc 
!/.vim/ 
!/.vim/** 

但是,它仍然忽略了VIM文件夾的所有子文件夾,儘管的.gitignore的最後一行。我不知道爲什麼。你做?

+0

這是樹中唯一的.gitignore文件嗎?您可以將.gitignore文件放置在任何位置,而不僅僅位於存儲庫的根目錄。 –

回答

0

但是,它仍然會忽略vim文件夾的所有子文件夾,儘管 是.gitignore的最後一行。我不知道爲什麼。你做?

在本SO answer這種類型的.gitignore模式的第一行即*,將使GIT中只跟蹤那些文件,你會明確地說,用!算子的追蹤解釋。請經過我詳細解釋的answer。它屬於它的第三點即

  • 模式與斜線和特殊字符(* /?):如果模式就像你給了第一例結束,images/*.*它的工作原理如在documentation

    實施例中指定: 「文檔/ * HTML」 匹配 「文檔/ git.html」 但不 「文檔/ PPC/ppc.html」 或「工具/ PERF /文檔/ PERF。 HTML」。

  • 那麼git會在你的情況不vim/其子文件夾只跟蹤images/下的文件。如果您想添加所有子文件夾,請在.gitignore文件中添加所有文件夾,或避免使用這種類型的gitignore模式*

    +0

    'gitignore(5)'專門調用'**'作爲OP似乎期待的內容:尾隨「/ **」匹配內部的所有內容。例如,「abc/**」匹配目錄「abc」內的所有文件,相對於.gitignore文件的位置,具有無限深度。 –