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中使用前导斜杠。