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

时间:2017-10-22 20:56:09

标签: git gitignore

我正在使用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命令退出了这个:

enter image description here

我在.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中的文件< / p>

2 个答案:

答案 0 :(得分:1)

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

*.*
!autoload.php
!Demo

答案 1 :(得分:1)

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