【问题标题】:Files are not being tracked after creating a git repo for my laravel project为我的 laravel 项目创建 git repo 后未跟踪文件
【发布时间】:2018-08-27 16:26:45
【问题描述】:

你好,

最近我开始了我的第一个 Laravel 项目。我使用以下命令安装它:

composer create-project laravel/laravel laraveltest

现在写了一些代码后,我认为使用 Github 跟踪我的项目是个好主意。我以前从现有项目中创建了存储库,并认为这将是相同的方式,但是我无法理解的事情正在发生。 这些是我尝试使用 Github 跟踪项目的步骤:

  1. 我创建了一个没有 gitignore 文件或自述文件的空 Github 存储库。

  2. 在我的项目文件夹中,我运行了这些命令:

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 跟踪

标签: php git laravel


【解决方案1】:

Git 有几个地方可以查找忽略配置文件。

  1. 它在工作树的每个文件夹中查找 .gitignore 文件
  2. 在工作树内(在你的情况下应该是空的)它寻找.git/info/exclude
  3. 您可以配置全局或系统范围的排除文件:您是否在全局 git config 中设置了 core.excludesfile(参见https://stackoverflow.com/a/7335487/3906760)。

【讨论】:

    【解决方案2】:

    我认为一切似乎都很好。只需执行git add .git commit -m "Commit message"git push origin master。进行一些更改并再次检查。

    【讨论】:

    • 这正是我所做的。
    • 为您的.gitignorereadme.md 再做一次。做出更多改变。你应该没事。
    • 首先感谢您对我的帮助。但我的问题是 Git 忽略了一切。当我在您的答案中运行命令时,它只会开始跟踪 readme-file 和 .gitignore-file。
    • 查看此链接。 stackoverflow.com/questions/11451535/gitignore-is-not-working 。向下滚动到接受的答案。与文件编码有关。可能会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-11-18
    • 2021-02-02
    • 2017-01-16
    • 2015-08-01
    • 1970-01-01
    • 2013-07-08
    • 2017-03-15
    • 2017-08-04
    相关资源
    最近更新 更多