1

PHP プロジェクトで composer を使用しています。vendor フォルダが特に大きいことに気付きました。内部のフォルダーを調べると、いくつかのパッケージが非常に大きい (~30Mb) ことに気付きましたが、チェックアウトされた実際のファイルは数キロバイトしかありません。.git フォルダーは巨大です。

非常に制限の厳しいホストで作業しているため、使用するディスク容量をできるだけ少なくする必要があります。

composerに実際のパッケージファイルだけをインポートさせ、git履歴を維持しないことは可能ですか? または、作曲家は、インストールしたパッケージのバージョンなどを理解するためにgit履歴を必要としますか? composer.lock ファイルに基づいて、これを「記憶」できると思います。

私が求めていることをバニラ Git (リンク|リンク) を使用して行うことが可能であることを示唆する多くのページを見てきましたが、これを行うようにコンポーザーを構成できますか?

質問が明確であることを願っています!

4

2 に答える 2

2

.gitフォルダーを Web ホストにコピーしないでください。ユースケースがない限り、これは実際に行うべきではありません(展開スキームの主要コンポーネントなど)。

2 番目の方法は、リポジトリのクローンを作成する代わりに配布の ZIP ファイルをインポートすることです (コマンド ライン オプション--prefer-dist)。ただし、Github は既知の場所にあるほとんどすべての ZIP ファイルを提供するため、これは Github でホストされているライブラリの場合にのみ、すぐに使用できます。 Composer はそれを利用します。独自のホストされた git リポジトリの場合、手動で、または Satis の助けを借りて、タグ付けされたバージョンの ZIP ファイルを作成し、これらをライブラリcomposer.jsonに追加してから、代わりにメイン ソフトウェアに追加します。

于 2013-10-06T23:47:34.200 に答える
0

以下を使用して、リポジトリからファイルを抽出できます。

git archive HEAD | gzip > archive.tar.gz

これにより git 履歴が失われ、本質的に、これを抽出して得られるものは git ツリーではありません。この時点からの変更を追跡するためにこれを新しいツリーに変えたい場合は、このディレクトリで git init を実行して、最初からやり直すことができます。

于 2013-10-04T15:20:53.363 に答える