如何排除Git中的文件和目录?

如何排除Git中的文件和目录?,git,gitignore,Git,Gitignore,我使用的是Git版本2.11.0,我不知道如何准确地忽略项目中的一些文件和目录 在我的项目中,我有一个/vendor目录以及if文件和其他目录: /vendor /vendor/autolofile.php /bin /composer /container-interop /Demo /psr /zendframework /zfcampus 现在,我忽略了所有/vendor目录以及她的文件和子目录。但我想排除文件“autoload.php”和此目录结构中的所有文件: /vendor/Dem

我使用的是Git版本2.11.0,我不知道如何准确地忽略项目中的一些文件和目录

在我的项目中,我有一个/vendor目录以及if文件和其他目录:

/vendor
/vendor/autolofile.php
/bin
/composer
/container-interop
/Demo
/psr
/zendframework
/zfcampus
现在,我忽略了所有/vendor目录以及她的文件和子目录。但我想排除文件“autoload.php”和此目录结构中的所有文件:

/vendor/Demo/library/BBDD
/vendor/Demo/library/Data
/vendor/Demo/library/File
现在,我试图只在状态中查看/vendor/Demo/library/BBDD中的所有文件,但我没有得到我想要的。我已从
git status
命令中退出:

我的.ignore文件中的内容是:

.vagrant/
vendor/*
!vendor/Demo
!vendor/Demo/library
!vendor/Demo/library/BBDD
!vendor/Demo/library/BBDD/*
config/development.config.php
data/cache/*
!data/cache/.gitkeep
phpunit.xml
ubuntu-xenial-16.04-cloudimg-console.log

我做错了什么?我想查看/vendor/Demo/library/BBDD、/vendor/Demo/library/Data和/vendor/Demo/library/File中的所有文件以及/vendor/autoload.php中的文件,您还需要添加
!vendor/autoload.php
文件。另外,我建议您这次在供应商文件夹中创建另一个
.gitignore
文件,并放入以下内容:

*.*
!autoload.php
!Demo

您还需要添加
!vendor/autoload.php
文件。另外,我建议您这次在供应商文件夹中创建另一个
.gitignore
文件,并放入以下内容:

*.*
!autoload.php
!Demo

尽管您已经从
.gitignore
模式中排除了这些文件,但仍然需要告诉Git通过运行
Git add vendor
来跟踪它们。然后,它将开始显示这些文件的差异。

尽管您已将这些文件从
.gitignore
模式中排除,但您仍然需要告诉Git通过运行
Git add vendor
来跟踪它们。然后,它将开始向您显示这些文件中的差异。

您首先必须运行
git add vendor
,它将开始跟踪
vendor/Demo
vendor/Demo/library
和其他未被忽略的文件。它可以工作!!!非常感谢Samir Aguiar!!!不用担心,我可以把它贴出来作为你接受的答案吗?看来你原来的问题已经得到了回答。但是,如果你想知道gitignore是如何工作的(我总是这样),请阅读我关于这个主题的博客文章:我写这篇文章也是为了我自己参考,因为我总是忘记gitignore的细节。你首先必须运行GitAddVendor,它将开始跟踪供应商/Demo,
vendor/Demo/library
和其他不被忽略的文件。它可以工作!!!非常感谢Samir Aguiar!!!不用担心,我可以把它贴出来作为你接受的答案吗?看来你原来的问题已经得到了回答。但是,如果你想知道
gitignore
到底是如何工作的(我总是这样做),请阅读我关于这个主题的博客文章:我写这篇文章也是为了给自己参考,因为我总是忘记
gitignore
的细节。