【发布时间】:2018-08-27 16:26:45
【问题描述】:
你好,
最近我开始了我的第一个 Laravel 项目。我使用以下命令安装它:
composer create-project laravel/laravel laraveltest
现在写了一些代码后,我认为使用 Github 跟踪我的项目是个好主意。我以前从现有项目中创建了存储库,并认为这将是相同的方式,但是我无法理解的事情正在发生。 这些是我尝试使用 Github 跟踪项目的步骤:
我创建了一个没有 gitignore 文件或自述文件的空 Github 存储库。
在我的项目文件夹中,我运行了这些命令:
git init
git add .
git commit -m "initial commit"
git remote add origin NAME_OF_REPO
git push origin master
现在我的问题是,当我这样做时,Github 只跟踪这两个文件:
new file: .gitignore
new file: readme.md
当我使用git status --ignored 命令检查被忽略的内容时,我可以看到所有内容都以某种方式被忽略:
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
.env
.env.example
.gitattributes
.idea/
app/
artisan
bootstrap/
composer.json
composer.lock
config/
database/
package.json
phpunit.xml
public/
resources/
routes/
server.php
storage/
tests/
vendor/
webpack.mix.js
问题是我的 .gitignore 文件看起来像这样:
cat .gitignore :
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
/.idea
/.vagrant
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
/.env
那么为什么只跟踪我的 gitignorefile 和自述文件?我试着用谷歌搜索它,但找不到任何东西。
提前谢谢你。
更新
问题似乎只存在于特定的计算机上。我将项目复制到另一台计算机并完成了与上述相同的步骤,现在它可以工作了。 Git 跟踪一切正常。
所以我想现在我的问题是:
如何在无法正常工作的计算机上解决此问题? Git 是否有可能以某种方式从该计算机上的另一个存储库中读取.gitignore-文件?
【问题讨论】:
-
这个想法是 GIT 应该只跟踪您创建的文件。您不希望跟踪其他文件,因为它们不是您的。它们是通过安装 Laravel 并可能还运行 Composer 来获取额外的包来创建的。但由于这些都不是你的代码,GIT 不应该跟踪它们
-
那么为什么我创建的文件没有被 git 跟踪呢?我不会在我的 .gitignore 中忽略它们?
-
您是否创建了自己的文件?我的意思是你的 rproject 文件,或者这只是一个香草 Laravel 安装
-
我说的是:GIT 不应该跟踪 Laravel 或你使用 composer 添加的包。他们不是你的。它应该只跟踪您在项目中创建的文件
-
@RiggsFolly 是的,在创建本地存储库并添加文件之前,我已经创建了自己的文件,所以我希望它们能够被 git 跟踪