ほとんどのプロジェクトで ExtJS ベース フレームワークを開発しました。
現時点で私が抱えている問題は、GIT を使用してフレームワーク コードを一元化して、すべてのプロジェクトがそのコードを共有できるようにする方法がわからないことです。
私が望むのは、すべての特定のプロジェクトが、フレームワークのベース コードに加えられた変更を反映できることです。
前もって感謝します。
ほとんどのプロジェクトで ExtJS ベース フレームワークを開発しました。
現時点で私が抱えている問題は、GIT を使用してフレームワーク コードを一元化して、すべてのプロジェクトがそのコードを共有できるようにする方法がわからないことです。
私が望むのは、すべての特定のプロジェクトが、フレームワークのベース コードに加えられた変更を反映できることです。
前もって感謝します。
フレームワークを独自のリポジトリに作成し、他のプロジェクト リポジトリにフレームワーク リポジトリをサブモジュールとして追加させることができます。Git サブモジュールを使用すると、Git リポジトリを他の Git リポジトリ内にネストできます。
このシステムには複数の利点があります。まず、フレームワークは独自のリポジトリとして残ります。つまり、必要な数の他のプロジェクト リポジトリにサブモジュールとして追加できます。次に、独自のリポジトリとして、フレームワークをそれを使用するプロジェクトから分離したまま、個別に更新およびバージョン管理できます。
Git サブモジュールの詳細については、http: //git-scm.com/book/en/Git-Tools-Submodulesを参照してください。
あなたの質問から、フレームワークがプロジェクトによって使用されている(変更されていない)か(つまり、プロジェクトがフレームワークに依存してライブラリとして使用されているか)、フレームワークがプロジェクトのベースとして使用されているか(つまり、すべてのプロジェクト)がわかりません。同じ構造で、再利用したい)。
それが最初の場合(フレームワークはライブラリです)、ilollarsの回答を参照してください。
2番目の場合(フレームワークは基本構造)、次のように実行できます。フレームワークを(中央の)リポジトリに配置します。新しいプロジェクトを開始するときは、フレームワークリポジトリのクローンを作成してください。これで、この新しいリポジトリでプロジェクト固有のことを自由に行うことができます。フレームワークを変更する必要がある場合は、最初にフレームワークリポジトリでこれを行い、次にこの変更を各プロジェクトリポジトリにマージします。ここに例があります:
cd framework
git init
# do your framework development
git add .
git commit
これで、最初のフレームワークバージョンができました。次に、フレームワークの現在のバージョンから開始して、最初のプロジェクトを開始します。
cd ..
git clone framework project1
cd project1
# do work on your project
git commit
次に、フレームワークで何かを変更する必要があります。
cd ../framework
# do the changes
git commit
プロジェクトを新しいフレームワークバージョンに更新するには:
cd ../project1
git pull
これで、プロジェクト固有の変更を含む現在のフレームワークバージョンができました:-)