今天我遇到了一个场景,在这个场景中,我们想要忽略的文件与我们的一个项目中的子目录存在命名冲突。在git上设置的新项目中,有一个名为src/core/app
的目录。我们的默认git ignore会排除任何名为core
的文件,因为如果存在核心转储,则会输出该文件。 .gitignore
文件包含类似的行,如下所示:
#debug files
core
我们通过做一个git add -f
来解决它,但我很好奇是否有一个可用的git ignore语法,它会指定我们只想忽略一个名为core的文件而不包含任何可能被命名为core
的目录?
是的,这实际上可以使用负模式和尾部斜杠(匹配目录)。把这两行放在你的.gitignore
中:
core
!core/
这将忽略名为core
的文件,但不会忽略名为core
的目录。