2016-09-28 8 views
0

私たちはプロジェクトのレポを扱うための専用サーバーを持っています。さて、私はすでに2,3回手続きをしたところで、突然、これらのモジュールの1つにある "composer require"には、そこにある.git/フォルダが含まれていません。git/folderがコンポーザーにプルされていない

「起こる可能性があります」誰かがレポを作成する際に忘れてしまったかもしれないと思っていました。 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サーバーから(composer install/update/requireを介して)プルするときに.git/が含まれるようにする方法の説明。

結果を複数ページにわたって比較すると、[git] folder[git] .git/ folder以上のバリエーションが見つかりませんでした。

+0

Gitリポジトリの '.git /'ディレクトリは決して追跡されません。 'git clone'や' git init'を実行すると作成されます。実際、追跡することはできません。この特定の依存関係は、Gitリポジトリや他の場所から来たのでしょうか? – Chris

+0

私たち自身のgit repoの一つです。なぜ私たちがいつも '--prefer-source'フラグを使う理由を調べたことはありませんでした。今でも学んだ、私の答えを見てください。しかし、自動化された '--prefer-source'をコンポーザー構成に含める方法を見つけることができなかったので、フラグはターミナルでは必要ありません。それについてのアイデアはありますか? – Nukeface

答えて

0

回答は同僚からのものです。

私がパッケージをインストールしていたとき、それは1つのパッケージのためのものでした。そのため、インストールにはcomposer require company/project/moduleを使用しました。

ただし、vendor/フォルダ全体をプロジェクトにインストールする場合は、composer install --prefer-source -vを使用します。

-vフラグとして--prefer-sourceを使用することの大きな違いは、端末でより詳細な(冗長な)出力を提供することだけです。私がやったはずです何

composer require company/project/module --prefer-source

がこの仕事をした理由を調べるために行ってきました。 from the docs

--prefer-ソース:ソースとDIST:パッケージをダウンロードするには2つの方法があります。安定版の場合、Composerはデフォルトでdistを使用します。 ソースはバージョン管理リポジトリです。 --prefer-sourceが の場合、Composerはソースからインストールします。これは です。プロジェクトにバグ修正を加え、ローカル依存関係 の依存関係を直接取得したい場合に便利です。

========================= --prefer-sourceの逆--prefer-distある

from the docs

を以下--prefer-distの:可能であれば--preferソースのリバース、Composerはdistのからインストールします。これにより、 サーバーのビルドや、通常ベンダーの のアップデートを実行しないその他のユースケースでは、インストールが大幅にスピードアップされます。 に適切な設定がないと、gitの問題を回避する方法でもあります。

プロジェクトのパッケージ(repo)のさまざまなソースを設定する方法の詳細は、found hereです。

関連する問題