Answers:
这将忽略根文件和根目录,然后取消忽略根bin目录:
/*
/*/
!/bin/
这样,您将获得所有bin目录,包括子目录及其文件。
/stuff/和!/stuff/specific/,但它仍然忽略/材料/特定/
                    git check-ignore -v告诉我这是因为~/.gitignore
                    !/bin/到我的根.gitignore文件中,但是除此之外,我还必须添加/bin/.gitignore带有!*... 的文件。仅进行这些更改之一是行不通的。只有结合了两个更改,它才能起作用。
                    在这里,如何忽略所有内容,而不是某个目录中的目录“ MY_SUPER_DUPER_TEMPLATE_directory ”
结构:/ bitrix / templates / MY_SUPER_DUPER_TEMPLATE_directory
/*
!/bitrix
/bitrix/*
!/bitrix/templates
/bitrix/templates/*
!/bitrix/templates/MY_SUPER_DUPER_TEMPLATE_directory
*.DS_Store
*.gitignore
              您唯一的问题是bin目录本身与bin/*模式不匹配,因此git甚至不在bin目录中查找。
我想到了两种解决方案。
.gitignore :
*
!/bin/
!bin/*
要么
.gitignore :
*
!/bin/
bin/.gitignore :
!*
我更喜欢第二种解决方案,因为第一种解决方案不会停止忽略bin目录中未调用子目录中的文件bin。这可能与您的情况无关紧要。
# Ignore everything *  # But not these files... !/wp-content/ !/wp-content/plugins/ !/wp-content/plugins/my_plugin/ !/wp-content/plugins/my_plugin/*  注释中没有块代码?
                    从官方git doc来看,其中一个示例说:
排除特定目录foo / bar以外的所有内容的示例(请注意/ *-不带斜杠,通配符还将排除foo / bar内的所有内容):
$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar
有关前导斜杠的解释:何时在gitignore中使用前导斜杠。