我正在vcsh
和mr
的帮助下跟踪和版本化我的dotfiles。正如所建议的那样,我让vcsh创建一个预定义的.gitignore文件来忽略我的.vim目录之外的不需要的文件。
但是,现在我想修改它,以便它不会忽略我的.vimrc
或我的~/.vim
- 文件夹及其所有子目录。
目前,这是我的.gitignore的内容:
*
!/.gitignore.d
!/.gitignore.d/vim
!/.vimrc
!/.vim/
!/.vim/**
但是,它仍会忽略vim文件夹的所有子文件夹,尽管.gitignore的最后一行。我不知道为什么。你呢?
答案 0 :(得分:0)
但是,尽管如此,它仍会忽略vim文件夹的所有子文件夹 .gitignore的最后一行。我不知道为什么。你呢?
正如此SO answer中所解释的那样,第一行中的.gitignore模式即*
将使git仅跟踪那些您将明确表示要使用{{1}跟踪的文件操作员。请仔细阅读我已详细解释过的answer。它属于第三点,即
带斜杠和特殊字符的模式(* /?):如果模式的结尾与您给出的第一个示例相同,!
它的工作方式与{{3 }}
示例:"文档/ * .html"匹配" Documentation / git.html"但不是 "文档/ PPC / ppc.html"或" tools / perf / Documentation / perf.html"。
因此,git将仅跟踪您的案例images/*.*
下的images/
下的文件,而不是其子文件夹。如果要添加所有子文件夹,请添加.gitignore文件中的所有文件夹,或避免使用此类gitignore模式vim/
。