2

私の仕事は SVN から Git に切り替える過程にあり、ブランチとタグの使用方法を再評価しています。

masterタグを使用してリリースを識別し、別の開発ブランチを不安定なコードに使用する、常に安定したバージョンとして使用するモデルを見てきました (http://nvie.com/posts/a-successful-git-branching-model/ )。

この開発方法は気に入っていますが、すでにリリースされているバージョンに修正プログラムを適用することはできないようです。

当社の製品は複数のクライアント サーバーにインストールされており、それぞれに異なるバージョンがインストールされている可能性があります (当社の制御が及ばないさまざまな理由により)。現在、ブランチを使用してリリースを管理しmaster、開発に使用しています。

たとえば、異なるバージョンの 3 つのクライアントがあるとします。

  • クライアント A - v1.1
  • クライアント B - v1.2
  • クライアント C - v1.3

v1.2 で重大なバグが見つかった場合、v1.2、v1.3、マスター ブランチで修正し、クライアント B と C を更新します。これらの変更のために新しいブランチを作成することはありませんが、技術的にはバージョン v1.2.1 および v1.3.1。

v1.3 がすでにリリースされているときに v1.2.1 を作成できるようにする必要がある場合、リリースにタグのみを使用するように切り替える方法がわかりません。

リリースごとにブランチを作成して で開発を行うよりも、私たちに適したモデルを推奨できる人はいmasterますか?

4

3 に答える 3

1

古いタグに基づいて新しいブランチを作成できます。先に進んだときに v1.2 に重大なバグが見つかった場合は、v1.2 タグから新しいブランチを作成し、そこでバグを修正し、1.2.1 としてタグ付けしてから、修正を他のすべてのタグにチェリーピックします。あなたが維持している(今は枝)。

で安定版リリースを行っていない場合でもmaster、これは適用可能です。

于 2012-05-08T03:22:08.410 に答える
0

安定したマスターを使用しても、リリースごとにブランチを実行できます (実際、これをお勧めします)。

以前のメジャー リリースのマイナー バージョンにパッチを適用する必要がある場合は、メジャーリリースごとにブランチを作成する必要があり、それを回避しようとするべきではありません。

ただし、master を安定版ブランチとして宣言し、開発用に別のブランチを使用してもらい、それらのブランチが安定版であると判断された場合にのみそれらのブランチを master にマージすることを止めるわけではありません。

マスターを安定した状態に保つことには、多くの利点があります。

  • これは、新しい機能ブランチを作成する人は誰でも、ブランチの既知の優れたベースを持っていることを意味します。
  • これにより、リリースが非常に簡単になります。master から分岐して、それを自分のリリースにするだけです。

タグを使用して、特定のメジャー リリース (およびメジャー ブランチから離れたマイナー バージョン リリース) の最初の分岐点をマークすることもできます。

于 2012-05-08T03:22:27.177 に答える
0

この開発方法は気に入っていますが、既にリリースされているバージョンに修正プログラムを適用することはできないようです。

という名前のブランチを見ましたhotfixesか? masterこれは、ホットフィックスが必要なときから分岐し、その変更masterは 、およびdevelop?に戻ります。

現在、ブランチを使用してリリースを管理しており、マスターは開発に使用されています。

nvie.com 分岐モデルはmaster開発には使用せず、 develop. master常に、製品の最新リリース バージョンである必要があります。

v1.2 で重大なバグが見つかった場合は、v1.2、v1.3、マスター ブランチで修正し、クライアント B と C を更新します。これらの変更のために新しいブランチを作成することはありませんが、技術的にはバージョン v1.2.1 および v1.3.1。

masterバグが発生している最も古いバージョンを見つけます。そのタグからブランチを作成しhotfix、修正を にバックポートしますdevelop。実際、バグが発生したhotfixバージョン管理されたすべてのタグからブランチを作成masterし、それらにもバックポートしてから、最後にmasterその先頭に戻す必要があります。

于 2012-05-08T03:23:34.603 に答える