這樣寫的話依然還是忽略的,但是如果我是寫!/upload/2011就不被忽略了。
所以我有個疑問,gitignore就只是支二層目錄的忽略規則嗎?
黄舟2017-05-02 09:30:43
【參考連結】:忽略文件 / Ignoring Files
文件 .gitignore 的格式規格如下:
所有空白行或以 # 開頭的行都會被 Git 忽略。
可以使用標準的 glob 模式匹配。
匹配模式可以以(/)開頭防止遞歸。
匹配模式可以以(/)結尾指定目錄。
要忽略指定模式以外的檔案或目錄,可以在模式前加上驚嘆號(!)取反。
所謂的 glob 模式是指 shell 所使用的簡化了的正規表示式。 星號(
*
)匹配零个或多个任意字符;[abc]
匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个
b,要么匹配一个c);问号(?
)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]
表示匹配所有 0 到 9 的数字)。 使用两个星号(*
) 表示匹配任意中间目录,比如a/**/z
可以匹配a/z
,a/b/z
或a/b/c/z
等。
某草草2017-05-02 09:30:43
任意層級
.gitignore
一般用我们使用 git add .
这种命令中没有明确指定要加入的文件时忽略 .gitignore
中声明的文件,但以!
開頭的規則不會被排除。
/uploads/*
!/uploads/2011/11/
這樣的組合而成的,這樣可以簡化 .gitignore
的复杂度,如果没有 !/path
語法的,你就不得不把除了 /2011/11/的文件和目錄都寫一遍。
範例:老師宣布這次成績的全格人員
1号 合 格
2号 合 格
3号 合 格
4号 合 格
小明 不合格
6号 合 格
7号 合 格
8号 合 格
9号 合 格
。。。
當然也可以這樣
全部合格 -------> /uploads,
除了小明 -------> !/uploads/2012/11,全部已经包括小明,但现在把他排除