如何忽略Git中的level目录,而不是以同名开头的其他目录?

时间:2015-11-21 15:08:46

标签: git

如何忽略顶级cache但忽略' apps / cache'?

我有这样的结构。

cache
apps/cache
conf/cache

我想编写规则以仅忽略顶级cache

cache - IGNORE
apps/cache - NOT IGNORE
conf/cache - NOT IGNORE

git怎么办?

3 个答案:

答案 0 :(得分:4)

只需在/后面添加要忽略的目录。这将仅在存在.gitignore的目录中忽略所提到的文件/目录。

<强>例如    /高速缓存

答案 1 :(得分:1)

只提供缓存目录的完整路径:

/cache

这样,app / cache和conf / cache之类的东西就不会被包含在内。

答案 2 :(得分:1)

注意:将路径锚定到git仓库当前文件夹的功能来自commit d0bfd02 (April 2007, git 1.5.2-rc0)

  

添加基本基础结构以将属性分配给路径

     

这会添加基本基础结构,以便为路径分配属性,其方式类似于基于$GIT_DIR/info/exclude.gitignore文件的排除机制。

     

这些文件中的每一行都定义了一个模式匹配规则。

     

该行的第一个标记是shell glob模式。

     

对于glob匹配,相同&#34;如果模式中没有斜杠,则路径的基本名称与模式匹配fnmatch(3),否则,路径与模式匹配使用FNM_PATHNAME&#34;规则作为排除机制使用。

那是why the documentation soon included(2007年6月,git 1.5.2.1):

  

前导斜杠与路径名的开头匹配;
  例如,&#34; /*.c&#34;匹配&#34; cat-file.c&#34;但不是&#34; mozilla-sha1/sha1.c&#34;