为什么 Git 忽略这些文件夹?
Why does Git ignore these folders?
我在 Git 下添加了一个 Laravel 应用程序,以便我可以推送到 Bitbucket。在根文件夹上,我 运行 git add -A
并推送到远程服务器上。我检查过它没有发送所有文件夹;例如,它根本没有添加 vendor
文件夹。如何确保添加所有子文件夹?当我 运行 git status
时,它说:
# On branch master
nothing to commit, working directory clean
更新
我 运行 git status --ignore
发现列出了以下文件:
stocktrack/app/storage/logs/laravel.log
stocktrack/app/storage/meta/services.json
stocktrack/app/storage/sessions/cdf664ccf42d040bc92d76418f736cc78e20d77a
stocktrack/app/storage/views/81774cd762e1fa0174ad42e0b0d53196
stocktrack/bootstrap/compiled.php
stocktrack/composer.lock
stocktrack/vendor/
在.gitignore
中,我只添加了.idea
。为什么它忽略了其他人?
似乎 .gitignore
有效。
检查存储库的根目录。你会发现一个 .gitignore 文件,其中包含要忽略的文件名。
git add --force <Specific Folder>
和我一起玩了。
您可以使用 git check-ignore
来确定路径是否被 git 忽略。
此外 check-ignore
提供了一个 -v
(--verbose
) 选项,它将告诉您忽略文件的模式以及您可以在哪里找到它。
假设您的存储库具有以下目录结构。
bar/test/important
foo/a.tmp
foo/b
还有这个 .gitignore
文件。
bar/
foo/*.tmp
您想知道为什么 bar/test/
中的 important
文件被忽略了。
这是一个非常平淡的例子,但它只是为了展示概念。
现在让我们检查一下哪个模式忽略了您的 important
文件。
$ git check-ignore --verbose bar/test/important
.gitignore:1:bar/ bar/test/important
如您所见,check-ignore
告诉您 .gitignore
文件中第 1 行的模式 bar/
忽略了相关路径。
我遇到的问题,很可能你遇到的问题是 .git/info/exclude 中列出了这些文件夹。我不得不从那里删除它们。然后我运行:
git rm -r -f --cached .
git add .
我在 Git 下添加了一个 Laravel 应用程序,以便我可以推送到 Bitbucket。在根文件夹上,我 运行 git add -A
并推送到远程服务器上。我检查过它没有发送所有文件夹;例如,它根本没有添加 vendor
文件夹。如何确保添加所有子文件夹?当我 运行 git status
时,它说:
# On branch master
nothing to commit, working directory clean
更新
我 运行 git status --ignore
发现列出了以下文件:
stocktrack/app/storage/logs/laravel.log
stocktrack/app/storage/meta/services.json
stocktrack/app/storage/sessions/cdf664ccf42d040bc92d76418f736cc78e20d77a
stocktrack/app/storage/views/81774cd762e1fa0174ad42e0b0d53196
stocktrack/bootstrap/compiled.php
stocktrack/composer.lock
stocktrack/vendor/
在.gitignore
中,我只添加了.idea
。为什么它忽略了其他人?
似乎 .gitignore
有效。
检查存储库的根目录。你会发现一个 .gitignore 文件,其中包含要忽略的文件名。
git add --force <Specific Folder>
和我一起玩了。
您可以使用 git check-ignore
来确定路径是否被 git 忽略。
此外 check-ignore
提供了一个 -v
(--verbose
) 选项,它将告诉您忽略文件的模式以及您可以在哪里找到它。
假设您的存储库具有以下目录结构。
bar/test/important
foo/a.tmp
foo/b
还有这个 .gitignore
文件。
bar/
foo/*.tmp
您想知道为什么 bar/test/
中的 important
文件被忽略了。
这是一个非常平淡的例子,但它只是为了展示概念。
现在让我们检查一下哪个模式忽略了您的 important
文件。
$ git check-ignore --verbose bar/test/important
.gitignore:1:bar/ bar/test/important
如您所见,check-ignore
告诉您 .gitignore
文件中第 1 行的模式 bar/
忽略了相关路径。
我遇到的问题,很可能你遇到的问题是 .git/info/exclude 中列出了这些文件夹。我不得不从那里删除它们。然后我运行:
git rm -r -f --cached .
git add .