我已经看到了类似的问题(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
显示出来。
我终于在这里找到了解决方案。解决方法是.gitignore
在Resources
文件夹中添加另一个文件。这可以正常工作。
我可以使用一个忽略文件来达到相同的目的吗?我发现在不同目录中有许多忽略文件有点笨拙。
这是我要实现的目标:
# 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/**/*
对每个目录进行删除。冷杉删除目录,但是您需要第二个删除所有文件类型。