1

次のシナリオがあるとします。

トランクは、プログラマーが完了時にコミットする私のメインの開発ラインです。ブランチ V1.0 は、バージョン 1.0 をリリースするときに作成したブランチです。

プログラマーはトランクで作業していますが、バグを修正するためにブランチに切り替える必要があります。トランクに戻ると、Subversion は最近の変更を含まない SVN リポジトリの最新情報を提供します。したがって、切り替えるには、自分が持っているものをコミットする必要があります。そうしないと、変更が「失われる」からです。それらがまだローカルリポジトリに保持されていることは知っていますが、スイッチバックすると、それらを1つずつ復元することを意味します.

ここで何か不足していますか?

編集:

今、私はこれらの行を考えています:

各プログラマーは、トランクから離れた独自の「プライベート」開発ブランチを持つことになります。彼はいつでもそこにコミットできます。彼が書き終えたら、それをトランクにマージできます。彼は次の課題のために再び始めます。他のリリースのバグを修正する必要がある場合は、自分のプライベート ブランチにコミットし、odl リリースを取得して修正するだけです。次に、修正への変更をコミットした後、彼は自分の開発ブランチに簡単に切り替えることができます。

それはうまくいくでしょうか?

4

3 に答える 3

2

おっしゃる通り切り替えは転覆は考えていないと思います。1 つはブランチ用、もう 1 つはトランク用の 2 つのワークスペースを持つことで、問題なく切り替えることができます。私はそれがいいものではないことを知っています。

于 2012-06-21T07:25:16.730 に答える
0

このような目的に最適なソリューションは、2つの別々の作業コピーを用意することです。1つはトランクでの作業用で、もう1つはブランチでの作業用です。

于 2012-06-21T08:06:15.700 に答える
0

自分のアプローチにより適したバージョン管理ツールに切り替えることを検討してください。私自身の提案はMercurialとMercurialEclipseの組み合わせです。私が認識している唯一の欠点は、Subversion がバイナリ ファイルの保存に適していることと、Mercurial のサブリポジトリが Subversion の外部リポジトリほどうまく機能しないことです。

Mercurial では、プログラマーは自分の変更をプライベート リポジトリにコミットし、ローカルで再度マージしてコミットし、結果の変更を公式リポジトリにプッシュし、そこから他のプログラマーが自分のプライベート リポジトリにプルすることができます。

于 2012-06-21T07:42:15.947 に答える