我看过类似的问题(1,2和3),但我没有从它们中找到适当的解决方案。正确地忽略特定文件夹下的所有文件,除了特定的文件类型
我需要忽略除特定文件类型以外的特定文件夹下的所有文件。该文件夹是根路径的子目录。让我命名文件夹Resources
。由于我不想让事情变得复杂,所以让我忽略所有名为Resources
的文件夹下的文件,无论它在哪里。
这是最常见的解决方案(在所有重复的问题)
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
这个解决方案的问题是,它跟踪停止新增文件(因为*
忽略所有文件)。我不想排除每种文件类型。我想要正常的行为,如果添加任何新文件,git status
显示它。
我终于找到了解决方案here。解决方案是在Resources
文件夹中添加另一个.gitignore
文件。这工作正常。
我可以用一个忽略文件实现相同吗?我发现在不同目录中有许多忽略文件有点笨重。
这就是我想要实现:
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
但是这给输出相反。它忽略了*.foo
类型并跟踪其他文件。
这适用于我,稍作调整,我只需要删除目录和下面的所有内容,所以我做了:'DirectoryName1/** DirectoryName1/**/*'为他们每个人。杉木删除目录,但你需要第二删除所有文件类型。 –