.gitignore无法正常排除子文件夹

.gitignore无法正常排除子文件夹,git,gitignore,Git,Gitignore,我忽略所有的文件,除了下面在.gitignore文件中显示的一些文件夹 * !.gitignore !/sample1/test1/ !sample1/test1/* 我的问题是,它只跟踪test1文件夹下已经存在的文件,当我创建新文件时,它会忽略跟踪它 我可以知道任何解决方案吗?您不能直接包括已排除的嵌套目录*排除所有内容,因此首先需要对sample1目录取消排除,然后对test1子文件夹取消排除。这将如您所期望的那样起作用: * !.gitignore !/sample1/

我忽略所有的文件,除了下面在.gitignore文件中显示的一些文件夹

  *
  !.gitignore
  !/sample1/test1/
  !sample1/test1/*
我的问题是,它只跟踪test1文件夹下已经存在的文件,当我创建新文件时,它会忽略跟踪它


我可以知道任何解决方案吗?

您不能直接包括已排除的嵌套目录<代码>*排除所有内容,因此首先需要对
sample1
目录取消排除,然后对
test1
子文件夹取消排除。这将如您所期望的那样起作用:

*
!.gitignore
!/sample1/
/sample1/*
!/sample1/test1
!/sample1/test1/*

这在我尝试时有效:

*
!.gitignore           
!sample1/
sample1/*
!sample1/test1/
!sample1/test1/*

谢谢,但它仍然不会跟踪下的新文件test1@Pentagon只需添加
!sample1/test1/*
最后一个,它会的。@klutt:我仍然无法跟踪test1下的新文件。你说得对@klutt。上面编辑的评论。我对它进行了测试,并按预期为我工作。@mrf,谢谢您的编辑,它在test1下工作,我想知道“生成其他子目录”是否应该像上面那样添加所有子目录,或者是否有某种方法接受所有继承文件夹。比如说/sample1/test1/test2/test3/…谢谢Klutt,但是有没有办法一次获得整个嵌套文件夹?假设我们有许多嵌套文件夹,如/sample1/test1/test2/test3/。。。在这种情况下,我们如何排除sample1文件夹下的整个子文件夹