.gitignore白名单vim文件夹

时间:2015-10-20 14:10:34

标签: git vim gitignore

我正在vcshmr的帮助下跟踪和版本化我的dotfiles。正如所建议的那样,我让vcsh创建一个预定义的.gitignore文件来忽略我的.vim目录之外的不需要的文件。 但是,现在我想修改它,以便它不会忽略我的.vimrc或我的~/.vim - 文件夹及其所有子目录。

目前,这是我的.gitignore的内容:

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

但是,它仍会忽略vim文件夹的所有子文件夹,尽管.gitignore的最后一行。我不知道为什么。你呢?

1 个答案:

答案 0 :(得分:0)

  

但是,尽管如此,它仍会忽略vim文件夹的所有子文件夹   .gitignore的最后一行。我不知道为什么。你呢?

正如此SO answer中所解释的那样,第一行中的.gitignore模式即*将使git仅跟踪那些您将明确表示要使用{{1}跟踪的文件操作员。请仔细阅读我已详细解释过的answer。它属于第三点,即

  1. 带斜杠和特殊字符的模式(* /?):如果模式的结尾与您给出的第一个示例相同,!它的工作方式与{{3 }}

      

    示例:"文档/ * .html"匹配" Documentation / git.html"但不是   "文档/ PPC / ppc.html"或" tools / perf / Documentation / perf.html"。

  2. 因此,git将仅跟踪您的案例images/*.*下的images/下的文件,而不是其子文件夹。如果要添加所有子文件夹,请添加.gitignore文件中的所有文件夹,或避免使用此类gitignore模式vim/