私は「モジュール式Javaアプリケーション」を開発していますが、それは約60個の独立したモジュールを持っています。GITリポジトリ上のモジュラーJavaアプリケーション
私はGITの下でこのタイプのアプリケーションを構築するための最良の方法が何かを理解しようとしています。
私は自分自身をよりよく説明します:
私はSVNで数年間働いてきたと私は、このようなSVNなどの集中バージョン管理ツールの下で、このようなプロジェクトを構築するために、それは本当に簡単になり、しばらくI GITのベストプラクティスや長所/短所については分かりません。 SVNで
:
mod_A
|___trunk
|___branches
| |___branch_A
|
|___tags
mod_B
|___trunk
|___branches
| |___branch_A
| |___branch_B
|
|___tags
OR
を:は私は例えば、私は同様の結果と、2つの異なるアプローチを検討する
同じリポジトリの下にあるすべてのプロジェクトをインポートします
trunk
|___mod_a
|___mod_b
|___mod_c
branches
|___branch_A
| |___mod_a
|___branch_B
|___mod_a
|___mod_b
どちらの方法でも、特定の機能のために分岐されたモジュールのような情報を得ることは本当に簡単ですし、将来のモジュールからアプリケーションを見るだけでなく、将来の支店からも見ることができます。
また、両方の構造を使用すると、いつでもそれらのモジュールをすべて分岐することなくモジュールの一部だけを簡単に分岐することができます。また、現時点では
私が働いているモジュラーアプリケーションは、この構造は、いくつかの利点をもたらす場合でも、私の見解では、任意のモジュールのための単一の独立したレポで構成されて、います
GITで本当の大きな問題。
実際、アプリケーションの全体像を明確に把握することは難しいようです。なぜなら、すべてのリポジトリに接続してブランチをチェックして、特定のブランチにどのモジュールが関係しているのかを知る必要があります。私のアプリケーションの分岐バージョンを管理することができます。たとえば、アプリケーション全体ではなく、特定のBUG_FIXINGまたはFEATUREブランチで分岐するモジュールが7つだけであれば、GITからこの情報を取得する方法はありません。情報をカスタム方法で
アプリケーションが同じリポジトリ内に設定されていても、モジュールのサブセットだけを分岐させることはできませんでした。「Gitは個々のディレクトリではなくリポジトリ全体で動作します。
GITサブモジュールをソリューションとすることができますか?私が考慮していない他のアプローチはありますか?あるいは間違った前提から移動していますか?
ありがとうございます!
これはとても良い説明です。マリーナ!しかし、それは私の心の中に疑いがあります。この構造では、私はプロジェクト全体に対してただ一つのエントリーポイントを持っています。マスターである一つのプロジェクト全体を集約しています。分岐モジュールと標準モジュールを組み合わせたものです。例えば、私がfeature_aを保持したい場合は、マスター上でmod_a_feat_branch_a、mod_b、mod_c_feature_branch_aなどをマージしますが、1つではなく、さらに多くのアプリケーションアグリゲーターを保持したい場合はどうしたらいいですか? – ivoruJavaBoy
私の答えの最後にプロジェクトレベルのファイル(アプリケーションアグリゲータ)を管理する部分を追加しました。そして、はい、プロジェクト全体は通常 'master'ブランチで管理されるだけでなく、'開発 '、' feature'と 'hotfix'ブランチなどでも管理されます。 –
ありがとうマリーナは、あなたからの最後のフィードバックが1つあります:アプリケーション全体がスペース消費量の点で巨大な場合は、いつでもプロジェクト全体を含むリポジトリ全体をダウンロードしなければならないことはありますか?なぜ、開発者が1つのモジュールで作業しなければならないのか、59モジュールの残りをローカルでダウンロードしなければならないのですが、GITがこのように動作することは分かります。サーバークラッシュはあなたがローカルに必要なものすべてを持っているからです)しかし、それは私には極端に見えます... – ivoruJavaBoy