回答:
注:他のユーザーが使用することを目的としたパッケージを作成していない場合(たとえば、Webアプリを構築している場合)、インストールされているパッケージを常にソース管理にチェックインする必要があります。
引用のリンクを必ずチェックしてください、それはいくつかの長所と短所を議論します。それが言及する主なプロは、それらをチェックインすると、リポジトリが利用可能である限り、依存関係が常に利用可能であることを保証します。Bower、GitHub、またはその他の必要なものに何が起こっても関係ありません。
新しく生成されたYeoman AngularJSプロジェクトの.gitignoreファイルには、無視されるようにリストされたbower_components(およびnode_modules)があります(Yeomanを知らない場合は、最新のWebアプリ用の非常に評判の良いWeb足場ツールであるため、これで十分です)。
.gitignore
node_modules
dist
.tmp
.sass-cache
bower_components
どちらのアプローチにも時間と場所があります。Yeomanにとって、bower.jsonはツールチェーンのツールであり、bowerエコシステムで生き続け、呼吸し続ける必要があるため、これに依存するのが適切です。デプロイ可能なWebアプリの場合、一般的に、依存関係をコミットしてより多くの制御を維持することをお勧めします。
これが私が気に入っている良い記事です。
ヨーマン発電予め充填された.gitignoreの bower_componentsを持つファイルを、それはまた、他のディレクトリで予め満たされた私は、私はいくつかの研究をしたので(WWWのように)最終のアプリのために必要とされるであろうと思うだろう。
www / index.htmlがapp / index.htmlの縮小版であることを発見しました。appディレクトリーとその内容(bower_componentsを含む)には、出力ディレクトリー(www)に必要なソース・ファイルが含まれています。ソースディレクトリをソース管理(つまりgit)にコミットしますが、生成されたファイル(つまりwww)はコミットしません。bowerやnpmなどのパッケージマネージャーは、ビルド/生成フェーズで使用するためのものであり、アーティファクトはソース管理にチェックインするためのものではありません。
最終的には、gitにチェックインするソースは、開発またはデプロイメントの目的でプロジェクトの残りの部分をビルドするために必要な最小限の構成です。
Shawn Lonasによって作成されたbower -lockerを使用してロックファイルを作成する場合/bower_components
は、dir を無視してチェックインbower.json
とbower-locker.bower.json
ファイルのみを行うことをお勧めします。
bower-lockerが作成される前は、bowerにシュリンクラップ機能がないという問題が原因で不利でしたが、上記のライブラリによって軽減できます。
次のコマンドを実行してそれを実現します。
npm install bower-locker -g
または
yarn global add bower-locker
次にbower.json
、次のコマンドを実行して、既存のファイルに基づいてロックファイルを生成します。
bower-locker lock
元のbower.json
ファイルは次の名前に変更されますbower-locker.bower.json
.gitignore
ファイルにディレクトリを追加するのではなく、Bowerによってダウンロードされたアセットをコミットする必要があるでしょう」