.gitignore 不适用于忽略文件夹的子文件夹
Posted
技术标签:
【中文标题】.gitignore 不适用于忽略文件夹的子文件夹【英文标题】:.gitignore does not work for subfolder of ignored folder 【发布时间】:2015-05-23 19:59:21 【问题描述】:我正在使用 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.php
和vendor/comoser
中的文件是否已在存储库中跟踪? gitignore
文件有意指定了 Git 应该忽略的 untracked 文件。它对已跟踪的文件没有影响。
【参考方案1】:
好的。所以我遇到了问题。我不知道如何,但我的.gitignore
文件将它自己推送到一个名为.gitignore
的目录中,我刚刚删除了该目录并将文件的内容复制到 git 项目的根目录中并更新了它。为我工作。考虑一下:文件 .gitignore
应该在 repo 的根目录中。
【讨论】:
【参考方案2】:在 gitignore 中添加 vendor 文件夹后,你是否清除了 git 缓存
git rm -r --cached vendor
git add .
git commit -m ".gitignore"
这将完全删除供应商文件夹。
【讨论】:
以上是关于.gitignore 不适用于忽略文件夹的子文件夹的主要内容,如果未能解决你的问题,请参考以下文章