2009-08-18 6 views
3

C#プロジェクトでSubversionを使い始めました。私はこのプロジェクトだけで作業していますが、私は自分の学習経験のためにグループで働いているかのように扱っています。プロジェクトで1人の人しか作業していない場合、Subversionでブランチを使用する必要がありますか?

私が理解しているように、Subversionで作業する典型的な方法は、常に構築されるトランクフォルダを用意することです。その後、新しいブランチで大きな変更が作成され、新しいブランチが作成された時点でトランクにマージされます。したがって、異なるチームメンバーが同時に作業するブランチが多数存在する可能性があります。

しかし、私が自分で作業しているのであれば、支店を作るためのポイントはありますか? HEADのリビジョン100にいるとします。私はリビジョン101にブランチを作成し、リビジョン110までブランチで作業を続けます。今では110をトランクにマージすることはできますが、プロジェクトには他に誰もいないので、トランクにマージする私はちょうど私が元のブランチを作成したリビジョン100に戻って合併しています。

答えて

10

支店は、プロジェクトで何人の人が働いているかとは関係ありません。ブランチは、異なる機能セット、ハードウェアターゲット、またはクライアントなど、代替開発ストリームのためのものです。

100人が単一の成果物で作業している場合は、同じブランチを使用する必要があります。 1人の個人が12の異なる成果物をサポートしている場合、彼は十数の支店を持つべきです。

+0

私の考え方は、自分のトランクは常に動作するバージョンであり、大きな変更を加えたり物事を壊したりするときには、ブランチで作業するのが普通です。1人であれば、私はコラボレーションの問題について心配する必要はありませんが、ブランチがない場合は、最新の作業バージョンを表示したいときには、特定のリビジョン番号に更新する必要があります。私が支店で働いていれば、私は常にトランクで最新のリビジョンを取ることができることを知っています。 –

4

私はブランチを常に使用する必要があります。実際には、実際のコードをベースから分割する必要があります。たとえば、問題のために遠いフェッチされたソリューションを試す必要がある場合などです。ブランチを使用すると、問題と解決の試みを分けて、バージョン管理を維持できます。

0

あなたがプロジェクトで働いているだけの場合は、ブランチを作成するにはあまりにも多くの点がありません。リビジョンを使用して後でロールバックすることができます。

メジャーで実験的なことをしたいと思っていたら、いくつかのことを試したければ、ブランチを使って変更を隔離し、トランクを保存することができます。

このようにトランクから完全に作業し、歴史的な目的でリリースタグやブランチを使用することも、実験作業のための他のブランチを使用することもできます。

4

ブランチ(タグとは対照的に)はmaintainableバージョンのコードです。単一の開発者であっても、複数のバージョンのコードを管理することができます(バグ修正を古いリリースに移行するなど)。
SVNブックには、SVNブランチhereの2つの最も一般的な使用例が記載されています。
両方のメソッドの分岐ポリシーは、プロジェクト内の開発者の数に直接関係しません。
短期間のプロジェクト(学術、シングルリリース、プロジェクトなど)で作業している場合を除いて、これらのポリシーのいずれかを使用してください。管理上のオーバーヘッドは十分に低く、後であなたの人生をもっと簡単にすることができます。

0

私は2つのブランチを保っています。開発とトランクは、生産の迅速な修正をいつ行う必要があるかわからないからです。私は1週間から3週間、新しい機能をプロダクションに移植する前に作業するかもしれません。その間、私は修正を製造に適用しなければならないかもしれません。 2つのブランチを維持することで、バグ修正だけを簡単に展開できます。

関連する問題