1

私たちはゼロから始める小さなスタートアップ企業です。Subversion を使用しており、リポジトリは Web ベースのサービスにあります。

私は CVS に精通しており、SVN の紹介を読みましたが、大したことではありません。CM 自体に費やす労力を最小限に抑えながら、競合することなくスムーズに作業できるようにするCM方法論への言及に興味があります。車輪を再発明する必要はないと確信しています。自分の考えを確認したいだけです。

私が考えていることは次のとおりです。

  • 各開発者は自分のプライベート開発ブランチを開始します
  • 完了すると、統合ブランチにマージされます。統合ブランチでさらなる安定化が行われます。
  • 統合が完了すると、トランクにマージされ、タグが付けられます。

私は不明です:

  • その後、トランクから新しいプライベート ブランチを開始する必要がありますか、それとも同じプライベート開発ブランチで作業を続ける必要がありますか?
  • 特にトランクに再統合すると、svn が特別な動作をすることがわかります。それでは、特別な統合ブランチを持つことには利点 (または欠点) がありますか?

どうもありがとう。

4

2 に答える 2

1

必要に応じて、リリース用のメンテナンス ブランチを含むトランク ブランチのみから始めます。これは通常、適切なデフォルトです。これにより、競合が驚くほど少なくなり、開発が「小さな変更を頻繁に行う」方向に進みます。これは良いことです。私は 1 人から 10 人の開発者のチーム サイズでこれを経験しましたが、うまくいきました。これは、Subversion ドキュメントでは「リリース ブランチ」と呼ばれます。

機能ブランチは、もう 1 つの一般的な操作方法です。ここでは、新しい機能ごとに新しいブランチを作成し、機能をトランクにマージします。1 人の開発者が複数の機能ブランチを同時に持つ場合や、複数の開発者が同じ機能ブランチで同時に作業する場合があります。

開発者ごとにブランチを作成するには、多くのマージを行う必要があり、面倒です。


あなたの2つの不明確な点に答えるには:機能ブランチをトランクに統合した後、トランクから始まる新しい機能ブランチを確実に作成する必要があります。Subversion のドキュメントでは、古いブランチの使用をやめることが推奨されています。

Subversion 1.5 では、ブランチからトランクへの --reintegrate マージが完了すると、ブランチは以降の作業に使用できなくなります。新しいトランクの変更を正しく吸収することも、再びトランクに適切に再統合することもできません。このため、フィーチャー ブランチで作業を続けたい場合は、ブランチを破棄してから、トランクから再作成することをお勧めします。

ただし、の枝に特別なことはなく、あらゆる点で通常の枝です。他の支店とは名前が違うだけです。したがって、トランクへの再統合について特別なことはありません。Subversion のドキュメントでは操作について説明--reintegrateしていますが、次のケースについて言及しています。

  1. ブランチ Aがあります (多くの場合、これはトランクになります)
  2. ブランチ Aから新しいブランチ Bを作成します
  3. ブランチ Bを変更し、場合によってはブランチ Aも変更します
  4. ブランチ Bからブランチ Aへの変更をマージまたは再統合します。
于 2009-12-27T13:10:20.217 に答える