.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.phpvendor/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 不适用于忽略文件夹的子文件夹的主要内容,如果未能解决你的问题,请参考以下文章

.gitignore 全局过滤 .DS_Store

iOS 项目添加gitignore 文件

.gitignore 文件忽略自身

Git 的 .gitignore 配置

如何在idea中,忽略掉.gitignore文件自身,自己不能忽略自己,该怎么设置?

ios 忽略文件 .gitignore