0

私の場合、スーパープロジェクトは十分に大きいので、複数のアーティファクトで構成されています。プロジェクトA、B、C、D、Eとしましょう。それらは異なるgitプロジェクトです。次に、2つの異なるリリースに取り組む必要があります。次に、分岐をどのように実行するかという問題が発生します。私は最初はSubversionの世界から来ています。それがSVNの場合、おそらくスーパープロジェクトを作成し、すべてのサブプロジェクトA、B、C、D、Eを含めることを考えてから、スーパープロジェクトを分岐します。

しかし、分岐に関しては、概念的には、gitはSVNとは多少の違いがあります。gitの世界で疑問に思っているだけですが、通常、異なるリリースの複数のgitプロジェクトを分岐するためのベストプラクティスは何ですか?サブモジュールについて多くのことが話題になっていることは知っていますが、プロジェクトを個別に分岐することは理にかなっていますか?

もう1つの質問は、分岐が行われた場合、さまざまな分岐でアーティファクトをどのようにバージョン管理するかということです。2つのブランチがある場合、つまり、2つの異なるブランチのすべてのサブプロジェクトに対して異なるバージョンがあることを意味し、失敗の匂いがし始めます。

4

2 に答える 2

1

ブランチは非常に軽量であるため、自分で制御できるすべてのサブプロジェクトに対してブランチを作成することを心配する必要はありません。この作業のほとんどは、と呼ばれるプロジェクトにまとめられていgit slaveます。コマンドのプレフィックスを忘れると、git submodule foreachどこでも処理するのが面倒になり、問題が発生する可能性があります。

于 2012-07-16T10:42:57.610 に答える
0

サブモジュールまたはサブリポジトリは、より大きなプロジェクトを分割するための方法です。すべてのサブモジュールには、独自の責任、バージョン、およびブランチがあります。

したがって、どのリポジトリを変更して分岐する必要があるかを自問する必要があります。たぶん、10個のサブモジュールから、1つか2つだけ触れて分岐する必要があります。ただし、それが主要なリファクタリングでない限り、選択の余地はありません。

次のコマンドですべてを分岐できます(メインリポジトリのルートで実行します)

git checkout -b hacking_away
git submodule foreach git checkout -b hacking_away
于 2012-07-16T10:36:55.653 に答える