如何用 Git.. 忽略除某些 files/directories 以外的所有内容?
How to ignore all but certain files/directories with Git..?
我看到了类似的问题,但出于某种原因,我没有找到任何可以满足我的要求的东西。
我有一个我维护的 CodeIgniter PHP 库,所以我的项目是包含我的库的完整 CI 安装。我试图忽略除构成我的库的文件之外的所有内容。
我觉得我已经阅读了执行此操作的语法,但我在目录中得到了意想不到的结果。
首先,我从这个开始:
*
!.gitignore
!README.rst
!instructions.html
你可以在这里看到除了站点根目录下的那 3 个文件之外的所有内容都是灰色的(忽略),这意味着这些文件不再被忽略......这正是我目前想要的。
当我继续尝试取消忽略位于目录中的其余库文件时,它根本不起作用。例如,如果我添加...
!application/controllers/paypal
可以看到里面的目录和文件还是灰色的(忽略),当然我运行git命令的时候确实是忽略了。
如能提供有关我需要做什么才能使这项工作正常进行的任何信息,我们将不胜感激。
只需先将文件夹列入白名单即可。
然后就可以开始白名单了files
*
!**/
!.gitignore
!README.rst
!instructions.html
!application/controllers/paypal/**
和往常一样(我在“How do I add files without dots in them (all extension-less files) to the gitignore
file?”中提到过,主要有一条规则需要记住.gitignore
:
It is not possible to re-include a file if a parent directory of that file is excluded.
这意味着,当您排除所有内容时 ('*
'),您必须先将文件夹列入白名单,然后才能将文件列入白名单。
检查这是否与 git check-ignore -v -- afile
一起工作以查看它是否被忽略(以及根据哪个规则)。
我看到了类似的问题,但出于某种原因,我没有找到任何可以满足我的要求的东西。
我有一个我维护的 CodeIgniter PHP 库,所以我的项目是包含我的库的完整 CI 安装。我试图忽略除构成我的库的文件之外的所有内容。
我觉得我已经阅读了执行此操作的语法,但我在目录中得到了意想不到的结果。
首先,我从这个开始:
*
!.gitignore
!README.rst
!instructions.html
你可以在这里看到除了站点根目录下的那 3 个文件之外的所有内容都是灰色的(忽略),这意味着这些文件不再被忽略......这正是我目前想要的。
当我继续尝试取消忽略位于目录中的其余库文件时,它根本不起作用。例如,如果我添加...
!application/controllers/paypal
可以看到里面的目录和文件还是灰色的(忽略),当然我运行git命令的时候确实是忽略了。
如能提供有关我需要做什么才能使这项工作正常进行的任何信息,我们将不胜感激。
只需先将文件夹列入白名单即可。
然后就可以开始白名单了files
*
!**/
!.gitignore
!README.rst
!instructions.html
!application/controllers/paypal/**
和往常一样(我在“How do I add files without dots in them (all extension-less files) to the gitignore
file?”中提到过,主要有一条规则需要记住.gitignore
:
It is not possible to re-include a file if a parent directory of that file is excluded.
这意味着,当您排除所有内容时 ('*
'),您必须先将文件夹列入白名单,然后才能将文件列入白名单。
检查这是否与 git check-ignore -v -- afile
一起工作以查看它是否被忽略(以及根据哪个规则)。