为什么Git会忽略这些文件夹?
我在Git下添加了一个Laravel应用程序,这样我就可以推到Bitbucket了。在根文件夹上,我运行了为什么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 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
规则的另一种方式。看见