5

私は最近、自分のプロジェクトでsubmodulesfromを採用したいと思っていましたが、いくつかの問題に遭遇しました。GITAndroid

裏話

私は複数のプロジェクトを持っていますが、多くは同じ外部ライブラリ (Android ライブラリ プロジェクト) を使用しています。これは、GIT をよりクリーンにし、各プロジェクトの GIT に必要なすべての資料を含めるために、Android ライブラリ プロジェクトに GIT サブモジュールを使用することについて考えました. この部分は正常に機能します。プロジェクトのサブモジュールとしてライブラリを含めました。

問題

しかし、Android はこれらのライブラリ プロジェクトを使用します。これは基本的にプロジェクトに追加される通常のプロジェクトであり、Eclipse で同じプロジェクトを 1 回しか追加できません。したがって、一度に複数のプロジェクトで作業する必要がある場合は、Eclipse を通常の方法で使用する代わりに、Eclipse/ワークスペースの複数のインスタンスを使用する必要があります。

ライブラリ プロジェクトのインスタンスを 1 つだけ Eclipse に配置し、同時にすべてのプロジェクトがそれぞれのライブラリを参照する方法はありますか? または、これをどのように処理すべきか他の提案はありますか?

どんな助けでも大歓迎です

4

1 に答える 1

2

次の理由により、ライブラリ プロジェクトを Eclipse で単一のインスタンスとして使用することはできません。

  • ライブラリを使用する各プロジェクトは、異なるバージョンのライブラリを参照する場合があります。サブモジュールは特定のバージョンの物理的なチェックアウト (作業ディレクトリ) であるため、特定の時点でリポジトリの複数の状態を表す方法はありません。

回避策:

  1. ライブラリ プロジェクトの「サーバー」の場所を準備します。を使用してクローンを作成するだけで十分git clone --bareです。
  2. 「サーバー」ライブラリ プロジェクトをワークスペースに複製します。
  3. ライブラリ プロジェクトにプレフィックスを付けて、それが使用されているメイン プロジェクトの名前を反映させます。
  4. ライブラリで作業する必要があるメイン プロジェクトごとに、手順 2 と 3 を繰り返します。
  5. ライブラリ プロジェクトに変更を加えるたびに、機能ブランチを作成します。各主要プロジェクトで、新しい機能が役立つか、妨げになるかを検討してください。適合しない場合は、作成した機能を明らかに書き直す必要があります。完了したら、ライブラリのバージョンを更新します (セマンティック バージョニングでタグを使用することをためらわないでください)。
于 2013-05-03T09:49:19.950 に答える