.gitignore无法忽略被忽略文件夹的子文件夹中的文件

11

我正在使用Laravel和Github进行版本控制。在我的.gitignore文件中,我输入:

/vendor

我的项目结构看起来像这样:

Root
 app
 bootstrap
 public
 vendor

我希望在git中忽略所有在vendor文件夹里的文件。大部分文件可以通过在.gitignore文件中添加/vendor来实现忽略,但有一些文件无法被忽略。

无法被忽略的文件包括:autoload.php - vendor/autoload.php

还有位于vendor/composer文件夹中的文件,例如:

autoload_classmap.php
autoload_namespaces.php
autoload_real.php
ClassLoader.php
installed.json

我在我的.gitignore文件中做错了什么?


请问您能否检查一下 vendor/autoload.phpvendor/composer 目录下的文件是否已经被纳入版本库了呢?.gitignore 文件用于指定 Git 应该忽略的未被纳入版本库的文件,对于已经被纳入版本库的文件则没有影响。 - Landys
2个回答

42

在将 vendor 文件夹加入 gitignore 之后,您是否清除了 git 缓存?

git rm -r --cached vendor

git add .
git commit -m ".gitignore"

这将彻底删除供应商文件夹。


0

好的,我明白问题了。虽然我不知道原因,但是我的.gitignore文件被推到了一个名为.gitignore的目录中。我只需删除该目录并将文件内容复制到git项目的根目录中并进行更新即可。对我来说有效。请注意:.gitignore文件应位于存储库的根目录中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接