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

Vol*_*il3 6 git git-status

我在Git下添加了一个Laravel应用程序,以便我可以推送到Bitbucket.在根文件夹上,我运行git add -A并推送远程服务器.我检查过它没有发送所有文件夹; 例如,它根本没有添加vendor文件夹.如何确保添加所有子文件夹?当我跑步时git status,它说:

# On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

更新

我跑了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/
Run Code Online (Sandbox Code Playgroud)

.gitignore,我只补充说.idea.为什么忽略其他人呢?

Sas*_*olf 12

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

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


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

bar/test/important
foo/a.tmp
foo/b
Run Code Online (Sandbox Code Playgroud)

而这个.gitignore文件.

bar/
foo/*.tmp
Run Code Online (Sandbox Code Playgroud)

你想知道为什么你的important文件bar/test/被忽略了.

这是一个非常乏味的例子,但它只是用来展示这个概念.

现在让我们检查哪个模式忽略了你的important文件.

$ git check-ignore --verbose bar/test/important
.gitignore:1:bar/       bar/test/important
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,check-ignore告诉您该模式bar/.gitignore第1行的文件忽略了问题的路径.


Vol*_*il3 5

git add --force <Specific Folder>对我做了把戏。