.gitignore 如何只追踪某个文件夹下特定的文件
例如文件目录如下(a b c 为文件夹,其余全是文件)
a(dir)
|___b(dir)
|___A.mp4
|___A.txt
|___B.txt
|___c(dir)
|___D.txt
|___.gitignore
而我们需要追踪 a/b/ 下的所有 txt 文件,则我们可以按下面的方式来写
*
!b/
!b/*.txt
不能简单的写成下面这样
*
!b/*.txt
这是因为在 gitignore 的语法 之中,有这么一条
An optional prefix “!” which negates the pattern; any matching file excluded by a previous pattern will become included again. It is not possible to re-include a file if a parent directory of that file is excluded(如果文件的父文件夹被排除,则无法重新包含该文件。). Git doesn’t list excluded directories for performance reasons, so any patterns on contained files have no effect, no matter where they are defined. Put a backslash (“”) in front of the first “!” for patterns that begin with a literal “!”, for example, “!important!.txt”.
所以我们需要先不包含文件夹 b ,再不包含文件夹 b 下的 txt 文件。