在我的git repo中,我有几个目录。我完全忽略了许多目录中的一个。但是我想排除(白名单)嵌套在该目录中的单个文件。像这样
!*/Databases/
!Databases/Links_Databases.txt
!Databases/AFLW/README.txt
此处第二行有效,但第三行不起作用。嵌套的README.txt文件仍然被忽略。如何将该文件列入白名单?
我在这里找不到几个答案:One,two和three。但是,此处提供的解决方案会忽略根目录中的所有内容。我必须手动将其他要包括的目录列入白名单。因此,它没有达到我的目的。
最好,我只想编辑我的主要gitignore文件。如果没有其他方法,则可以在子目录中创建另一个gitignore。
答案 0 :(得分:2)
您必须'unignore'文件所在的目录:
# Ignore all contents of Databases directory
Databases/*
# Except this direct child file
!Databases/Links_Databases.txt
# And the relevant subdir
!Databases/AFLW/
# Ignore all contents in subdir
Databases/AFLW/*
# Except this file we want to keep
!Databases/AFLW/README.txt
尽管并非严格意义上的重复,但这里的答案中有一个非常相似的问题,并有很好的解释:.gitignore exclude folder but include specific subfolder