1 つのプロジェクトで、プロジェクトの複数の部分を整理する必要があります。php で書かれた Web アプリ、nodejs で書かれた API サーバー、android および ios アプリ。これらを複数のレポに分けるのは良い考えでしょうか? または、単一の git リポジトリ内の個別のフォルダーですか?
4 に答える
単一のモジュールが十分に独立している場合は、git サブモジュールを使用して 2 つのアプローチを混在させることができます。サブプロジェクトごとにフォルダーがある単一のフォルダー/レポになります。すべてのサブプロジェクトは個別のリポジトリであり、そのまま使用できますが、ルート リポジトリから各プロジェクトのバージョンを追跡したり、次のようにサブモジュールに「共同」コマンドを発行したりできます。
git submodule update
または「再帰的」コマンドのように
git submodule foreach make
ドキュメントとある種のチュートリアルをオンラインで見つけることができます。
以下は、複数のサブモジュール (ncs、...、test_network) を含むリポジトリの設定例です。
git init
git submodule add ssh://.../ncs
...
git submodule add ssh://.../test_network
vim Makefile #write the Makefile for the whole project
git add Makefile
git commit -i -m "Makefile added"
git submodule foreach autoreconf -i
git submodule foreach ./configure
make test
これらの個別の「プロジェクト」を再利用する予定がある場合は、git サブモジュールを使用する必要があります。ただし、そうでない場合は、1 つの一意の git の下にある別のフォルダーにそれらを分離するだけです。
git サブモジュールは、「複製」して、他の (より大きな) プロジェクトで最新の状態に保つことができるプロジェクトに最適です。
サブモジュールを扱うときは、複雑なレイヤーが追加されることに注意してください。
私はそれらを別々のプロジェクトとして保持します。git リポジトリを組み合わせる必要がある場合は、いつでもgit submodulesを使用できます。