git /文件夹没有拉到作曲家需要

时间:2016-09-28 07:50:28

标签: git composer-php

我们有一个私人服务器来处理回购项目。现在,按照我已经做过几次的程序,我突然偶然发现了#34;作曲家要求"其中一个模块上不包含应该存在的.git/文件夹。

"可能发生"我想,在创建回购时,有人可能会忘记包含它。但是,当转到vendor/company/module时,删除文件,执行git init + git remote add origin ssh:repo.git + git pull,我发现git add .git/什么也没做,只是给我警告下面:

$ git add .git/
warning: LF will be replaced by CRLF in .git/FETCH_HEAD.
The file will have its original line endings in your working directory.
error: Invalid path '.git/FETCH_HEAD'
error: unable to add .git/FETCH_HEAD to index
fatal: adding files failed

我想知道是否有人知道如何在从Satis服务器中提取(.git/)时确保composer install/update/require被包含在内。

Haven没有找到一个搜索SO的解决方案,可以在多页结果中搜索[git] folder[git] .git/ folder或更多变体。

1 个答案:

答案 0 :(得分:0)

答案来自一位同事。

当我安装软件包时,它只适用于一个软件包。因此我使用composer require company/project/module来安装它。

但是,在为项目安装整个vendor/文件夹时,我们使用composer install --prefer-source -v

使用--prefer-source作为-v标志的主要区别只是在终端中提供了更详细(详细)的输出。

我应该做的是composer require company/project/module --prefer-source

不知道为什么这样做有效;关注from the docs

  

- prefer-source :有两种方法可以下载软件包:source和dist。对于稳定版本,Composer默认使用dist。   源是版本控制存储库。如果--prefer-source是   启用后,如果有,Composer将从源安装。这是   如果您想对项目进行错误修复并获取本地git,则非常有用   直接克隆依赖。

=========================

--prefer-source的反面是--prefer-dist;关注from the docs

  

- prefer-dist :反向--prefer-source,如果可能,Composer将从dist安装。这可以大大加快安装的速度   服务器和其他通常不运行更新的用例   供应商。如果你这也是一种规避git问题的方法   没有正确的设置。

有关在项目中为包(repo)设置不同来源的更多信息,请found here