9

こんにちは、いくつかの異なるアプリケーションを持つアプリケーションがあります。これらは次のとおりです。

  1. 「クライアントサーバー」アプリケーション (java)
  2. 「ライセンス サーバー」アプリケーション (java) (このアプリを git で heroku にデプロイしています)
  3. 「自動更新アプリケーション」(java)
  4. 「クライアント アプリケーション」 (objective-c)

git について私が知っているのは、標準的なコミット コマンドとそのようなものだけです。私は 5 つのプライベート リポジトリを持つ github メンバーシップを持っています。それで、これでgitを利用する最良の方法は何だろうと思っていますか? 考えられる答えは次のとおりです。

  1. 単一の git リポジトリを作成し、それらの個別のプロジェクトを「ブランチ」に配置しますか?
  2. 単一の git リポジトリを作成し、それらのプロジェクトを別々のフォドラーに入れるだけですか?
  3. それらを別のgitリポジトリに入れるだけですか?

回答ありがとうございます。

4

3 に答える 3

9

アプリケーションを Git から直接デプロイするかどうかに基づいて決定します。オプション 2) と 3) の組み合わせを検討します。ライセンス サーバー アプリケーションは、Heroku にデプロイされているため、必ず独自のリポジトリに配置します。私は Heroku の展開にあまり詳しくありませんが、特定のブランチにあるすべてのものを展開する可能性があるため、すべてのアプリケーションを同じリポジトリ内のフォルダーに追加すると、それらはすべて一緒に Heroku に展開されます。それはあなたが望むものではないかもしれません。

さまざまな開発者/チームがさまざまなアプリケーションで作業している場合、アプリケーションが独自の個別のリポジトリにあると、作業が容易になります。

1) は忘れてください - ブランチは単にコミットへのポインターであるため、異なるプロジェクトを異なるブランチに追加しないでください。

于 2013-03-19T08:47:30.623 に答える
6
  1. 単一の git リポジトリを作成し、それらの個別のプロジェクトを「ブランチ」に配置しますか?
  2. 単一の git リポジトリを作成し、それらのプロジェクトを別々のフォドラーに入れるだけですか?
  3. それらを別のgitリポジトリに入れるだけですか?

私は2で行きます. .

さまざまなアプリケーション/プロジェクトのサイズ、またはそれらの独立性に応じて、3を検討することもできますが、オーバーヘッドが大きくなりすぎる可能性があります。大規模なリポジトリでさえ、git によって非常に効率的に処理されます。また、単一のリポジトリを使用すると、アプリケーション全体にタグ付け/分岐を行うことができ、別のリポジトリで行う必要がないため、リリース プロセスが容易になります。

オプション1は適切ではありません。通常、機能開発、バグ修正、およびリリースの管理にブランチを使用しています。成功した Git ブランチ モデルも参照してください。


コメントやその他の回答に基づいて、さらに考えてみると、主にプロジェクト間の依存関係に依存しています。クライアント アプリケーションとサーバー アプリケーションには間違いなく2を使用し、自動更新アプリケーションも含める可能性が高いです。

他の人が書いたように、ライセンス サーバーが本当に独立している場合 (ライセンス サーバーのクライアント部分はどうですか?)、この部分に別のリポジトリを使用するのが正しい解決策かもしれません。私の見解では、複数のリポジトリを使用すると、リリース プロセスと開発者の環境をセットアップするプロセスが複雑になる可能性があります。最終的に、ソリューションは、プロジェクトがどの程度依存しているか独立しているかに基づいて、2.3.の間の適切なバランスになる可能性があります。

于 2013-03-19T08:46:10.133 に答える
2

ここでの謙虚な意見:

  1. このようなものをブランチに入れることは間違いなく間違っています.gitのコードのブランチは常に「同じ」コードベースの異なる状態を表します
  2. 私もそうしませんが、2 つのサーバーと 2 つのアプリケーションが十分に相互依存している場合は、それらを同じリポジトリに配置することをお勧めします。それが私のお気に入りです。
  3. 4 つのアプリケーションが十分にばらばらである場合は、それで問題ありません。
于 2013-03-19T08:43:08.857 に答える