白名单和Git中的子目录
我只为文本文件创build了一个白名单。
* !*.txt
现在,我有一个未追踪的文本文件在一个子目录 – sub/dir/file.txt
,这是不显示(它被忽略)。 但是,显示根目录中的文本文件。
为什么是这样的,我该如何解决?
如果以这种方式尝试,则会失败,因为最终会将结构中的目录列入黑名单。
为了解决这个问题,你想把所有不是目录的东西都列入黑名单 , 而不是你想提交的文件types之一, 而不是黑名单目录 。
将执行此操作的.gitignore
文件:
# First, ignore everything * # Now, whitelist anything that's a directory !*/ # And all the file types you're interested in. !*.one !*.two !*.etc
在*.one
, *.two
和*.three
文件存在的情况下,使用位于存储库根目录中的.gitignore
对.txt
文件进行白名单testing。 您不必将.gitignore
文件添加到结构中的所有目录。
我用来找出答案的信息来自,除其他外, 这 (stackoverflow.com)。