【问题标题】:Installing Laravel in a new GIT branch leaves vendor folder in master在新的 GIT 分支中安装 Laravel 会在 master 中留下 vendor 文件夹
【发布时间】:2017-09-29 09:09:27
【问题描述】:

我正在开始一个现有非 Laravel 项目的全新构建,因此我从我的 master 创建了一个孤立分支,删除了现有文件并安装了 Laravel。

问题是当我切换回我的主分支时,供应商和存储目录(和文件)仍然存在于我的本地主分支中,并且显示为准备好暂存和提交。

我假设在新分支中创建的任何文件、文件夹等在切换分支时都不存在。

【问题讨论】:

  • 他们已经在 git 分支中了吗?您可以git rm -rf 将它们从版本跟踪中删除吗?
  • @Ohgodwhy master 分支中没有,没有。当我安装 Laravel 时,我检查了“新”分支。所以当我切换到“master”时,我很惊讶地看到供应商文件等待暂存
  • 那些文件是ignored吗?
  • @Ohgodwhy,他们是的,在新分支中。他们甚至不应该存在于主人身上。这就是让我陷入困境的原因。
  • 这真的很奇怪。

标签: php git laravel github


【解决方案1】:

供应商目录位于新分支的.gitignore 中,因此 git 不会跟踪这些文件。它们没有添加到 repo 中,也不希望添加。

当你切换分支时,git 不会接触任何它没有跟踪的文件。因此,当您切换到 master 时,它不会删除供应商文件,因为 git 不会跟踪它们。

现在,当您在 master 上时,您在 master 中的 .gitignore 可能不会忽略供应商目录,因此您的 master 分支将这些文件视为准备签入的新文件。将供应商目录添加到 .gitignore在您的主分支中,他们将停止纠缠您。

【讨论】:

  • 即使没有在主分支中创建供应商文件?这个新分支是 master 的一个孤儿,我删除了所有内容并从头开始构建 Laravel 项目。据我了解,我可以在一个分支中添加删除和更改文件,而不会在另一个分支中跟踪它。
  • @eht 就是这样;供应商文件不在另一个分支中跟踪。这就是 git 告诉你的:“这些文件没有被跟踪,git add 来跟踪它们?”如果 git 删除了它没有跟踪的文件,它就无法取回它们。所以,如果你从fresh 切换到master,git 删除了供应商文件,然后从master 切换回fresh,git 将无法取回这些文件,因为它没有对他们一无所知。我不知道你的情况,但听起来最好有一个单独的存储库,而不是一个单独的分支。
猜你喜欢
  • 2017-07-10
  • 2018-09-28
  • 2017-11-25
  • 2019-09-08
  • 1970-01-01
  • 2017-07-07
  • 2014-10-24
  • 2022-06-13
  • 1970-01-01
相关资源
最近更新 更多