Gitignore排除所有子目录中的某些文件
我有一个名为/static的目录。里面有很多子目录。 我需要忽略/static/目录所有子目录中的所有文件,除了.htaccess、null.jpg和index.php文件。 请告诉我此操作的正确语法是什么Gitignore排除所有子目录中的某些文件,git,gitignore,Git,Gitignore,我有一个名为/static的目录。里面有很多子目录。 我需要忽略/static/目录所有子目录中的所有文件,除了.htaccess、null.jpg和index.php文件。 请告诉我此操作的正确语法是什么 /static/** !/static/**/.htaccess 及 不要工作。正如我在“”中提到的,要记住的主要规则是: (*:除非git 2中满足某些条件,请参见下文) 这就是为什么任何忽略文件夹的规则(如*或*/)都会导致无法排除任何子文件 这就是为什么正确的方法是排除一切,除了:
/static/**
!/static/**/.htaccess
及
不要工作。正如我在“”中提到的,要记住的主要规则是:
(
*
:除非git 2中满足某些条件,请参见下文)
这就是为什么任何忽略文件夹的规则(如*
或*/
)都会导致无法排除任何子文件
这就是为什么正确的方法是排除一切,除了:
- 文件夹
- (然后)要排除的文件
.gitignore
:
/static/**/**
!/static/**/
!.gitignore
!.htaccess
这是用Git2.4.1测试的,甚至可以在Windows上运行
请注意,使用git 2.9.x/2.10(2016年年中?),如果文件的父目录被排除,则可能会重新包含该文件 正在尝试添加此功能:
- 对于git v2.7.0,在git v2.8.0-rc0中恢复
- git v2.8.0-rc0,。。。在git 2.8.0-rc4中恢复了(!)
但是,由于其中一个条件是“re-include规则中的目录部分必须是文字(即没有通配符)”,因此您不能在此处使用该功能。我认为您应该首先将目录列为白名单。做
/静态/**/
在第一种方法中充当第二行?
/static/**/**
!/static/**/
!.gitignore
!.htaccess