通常はvendor
フォルダーを保持し.gitignore
ていましたが、運用サーバーに ssh アクセスがなく、時々実行する必要があるため、無効にする必要がありましcomposer update
た。
そのため、ベンダー フォルダーで削除.gitignore
composer update
し、ローカル コンピューターで実行し、すべてをリポジトリにプッシュし、運用FTP
サーバー経由で展開するというアイデアを思いつきました。( DeployHQ
Repository->Production Transfer を行うために使用します。)
ただし、現在、ローカル プロジェクト フォルダーのサイズは 100MB で、Bitbucket
リポジトリのサイズは 20MB しかありません。私のローカル ベンダー フォルダーは約 90 MB で、リポジトリではわずか数メガバイトです。
Bitbucket
チェックすると、リポジトリでこれらの値に出くわしました:
vendor / doctrine /
annotations
cache → 89493d2c6e [89493d2c6e]
collections → 3db3ab843f [3db3ab843f]
common → c4255b9fbd [c4255b9fbd]
dbal → 3253f7a1c1 [3253f7a1c1]
inflector → 8b4b3ccec7 [8b4b3ccec7]
lexer → bc0e1f0cc2 [bc0e1f0cc2]
ローカルの vendor フォルダーに、Doctrine のクラスと PHP ファイルが表示されます。
いくつかお聞きしたいことがあります。
なぜこれが起こっているのですか?それらの注釈は何を意味しますか? (それらをシンボリックリンクに関連付けることはできますか? たとえば、Git はそれが Doctrine であることを認識しているため、Doctrine のリポジトリにシンボリックリンクを作成し、Doctrine のリポジトリからそれらのファイルをダウンロードします
git pull
か?)本番環境の 90 MB のベンダー フォルダーを、git リポジトリの 5 MB のベンダー フォルダーに安全に置き換えることができますか? (本番環境で git pull を実行するか、FTP 経由でリポジトリ フォルダーを本番環境にコピーします。)
ベンダーフォルダーを自分でどのように処理しますか? それを維持し
.gitignore
、本番環境で SSH 経由で composer update コマンドを実行するか、それらを git リポジトリにプッシュしてリポジトリを本番サーバーにプッシュしますか? また、どちらが良いですか?
ありがとうございました。
Ps。本番サーバーには git も composer もインストールされていません。
Ps。私たちのアップロード速度は非常に遅く、90MB のアップロードにはおよそ 1 時間かかります。私たちは最も速い代替手段を探しているので、これにも注意してください。