Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Git会忽略这些文件夹?_Git_Git Status - Fatal编程技术网

为什么Git会忽略这些文件夹?

为什么Git会忽略这些文件夹?,git,git-status,Git,Git Status,我在Git下添加了一个Laravel应用程序,这样我就可以推到Bitbucket了。在根文件夹上,我运行了git add-A,并在远程服务器上推送。我检查它没有发送所有文件夹;例如,它根本没有添加供应商文件夹。如何确保添加了所有子文件夹?当我运行git status时,它会显示: # On branch master nothing to commit, working directory clean 更新 我运行了git status--ignore,找到了以下列出的文件: stocktra

我在Git下添加了一个Laravel应用程序,这样我就可以推到Bitbucket了。在根文件夹上,我运行了
git add-A
,并在远程服务器上推送。我检查它没有发送所有文件夹;例如,它根本没有添加
供应商
文件夹。如何确保添加了所有子文件夹?当我运行
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对我进行了操作。

您可以使用它来确定git是否忽略了路径

此外,
check ignore
提供了一个
-v
--verbose
)选项,它将告诉您忽略文件的模式以及您可以在哪里找到它


假设您有一个具有以下目录结构的存储库

bar/test/important
foo/a.tmp
foo/b
这是
.gitignore
文件

bar/
foo/*.tmp
$ git check-ignore --verbose bar/test/important
.gitignore:1:bar/       bar/test/important
您想知道为什么
bar/test/
中的
important
文件被忽略了

这是一个相当平淡的例子,但它只是用来展示这个概念

现在,让我们检查哪种模式会忽略您的
重要文件

bar/
foo/*.tmp
$ 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——缓存。
  • git添加。

  • 更新问题。gitIgnore并没有必需的模式,您可能需要全局gitIgnore,这只是一种症状治疗。从根本上解决问题更有意义。看看,这不是一个永久的解决方案。问题将在下一个分支上再次出现。注意:
    GIT\u TRACE\u EXCLUDE=1 GIT status
    将很快(GIT 2.8,2016年3月)成为调试
    .gitignore
    规则的另一种方式。看见