2016-06-13 4 views
2

SubclipseやTortoiseを使ってこれを行うことができるようです。SVNを別のブランチに切り替え、後でマージ/コミットできるようにする

ブランチのフィーチャの作業を開始し、そのフィーチャのスコープが拡大したため、ブランチを安定させるためにチェックインしません。 私はチェックインする場所が必要なので、元のブランチを分岐しました。そのブランチに私のコピーを向けたいと思います。

SVNスイッチを使用すると、プロセスの一部として競合を解決する必要があるようですが、その準備はできていません。私の仕事場が以前に指していたブランチのコピーを指し示し、自分の時間にマージして更新できるようにしたいだけです。

これを行う方法はありますか?

答えて

1

スイッチは更新を行う必要があります。あなたの問題はスイッチではないと思います。おそらく、あなたが作成したブランチがあります。作業コピーがリポジトリのr100に更新され、ローカルで変更を開始するとします。これでブランチを作成し、r150にないリポジトリーのHEADに基づいてブランチを作成します。そうすれば、作業コピーと同じソースからブランチが実際に作成されたわけではないので、いくつか問題が発生する可能性があります。

変更を隠すことを容易にするために最適化したい場合は、作業コピーからブランチを作成することをお勧めします。これは、プロジェクトを選択して[チーム]> [ブランチ/タグの作成...]を選択するとウィザードのオプションの1つです。

作業コピーは狂った複合リビジョン状態になることがあります。だから後であなたの変更に戻ってそれをトランクにマージしたい、あるいはブランチをトランクに追いつけたい時には少し難しいかもしれません。

あなたの作業コピーのリビジョンが大まかに分かっている場合、中間的なアプローチはリポジトリリビジョンに対してブランチを作成することです。ブランチはきれいで、スイッチで作業コピーを更新するときに競合の可能性を最小限に抑えます。

+0

私はあなたが私の問題を理解していると思いますが、あなたの解決策を理解しているかどうかはわかりません。私は自分の問題は私がスイッチの目的を完全に理解していないと思う。基本的に私の作業コピーはトランクですが、トランクフリーズでは、私のコードをどこか(現在のトランクのブランチ)にコミットする必要があります。私は自分のスケジュールに沿って作業を続け、競合を解決/解決したいと思っています。作業コピーをトランクでなくトランクのこのブランチからのものにしたいだけです。 スイッチでは、作業コピーと新しいリポジトリの場所をプロセスの一部として同期させる必要があるようですが、今はその必要はありません。 –

+1

私はあなたの問題を理解しています、あなたが望むものは存在しません。スイッチは、新しいブランチを指すように作業コピーを更新し、更新を行う必要があります。私があなたに与えたテクニックは、ブランチがあなたの作業コピーと同一であることを保証することでした。アップデートをノーオペレーションまたはそれに近いものにしました。 –

+0

ありがとう、私はガイドラインに従って、正常に切り替えました。私は、分岐と切り替えに先立ち、すべての衝突を解決しました。このブランチを元の行にマージしなければならない時のアドバイスはありますか?ありがとう。 –

1

私はあなたがしたいことを理解しているかどうかはわかりません。いずれにしても、解決する前に、その競合について同僚と話をしなければなりません。

しかし、競合解消を延期して新しいブランチで作業を開始する場合は、新しいブランチの新しい作業コピーをチェックアウトするだけです。コミットされていない変更を加えて既存の作業コピーを残し(削除しないでください!)、新しいクリーン作業コピーを使用してください。

+0

私はブランチの作業コピーを修正しました。そのブランチの一時ブランチを作成し、現在の作業コピーをポイントして、現在の変更をマージ/アップデートする必要なく作業を続けます。 スイッチはこれを行いますが、ほとんどの場合、コンフリクトのあるすべてのファイルにダムテキストマージが行われます。私はちょうど私のコピーが指している場所を変更し、それに取り組んで、最終的には戻って合併するが、SVNが私にやって欲しい方法でこの2分後にはしたくない。 –

0

これを正しく理解すると、元のブランチ(ブランチ1)とこのブランチコード(ブランチ2)から作成したブランチがあります。ブランチ1からブランチ2に切り替えるのではなく、ブランチ2をチェックアウトし、ブランチ1で行った変更をコピーして(矛盾を解決して)ブランチ2にコミットします。ブランチコードベース間でSVNスイッチを使用すると、コードの変更をコピー/貼り付けする方がよい場合もあります。

+1

ありがとう、私の唯一の選択肢のように見えます。私は本当に紛争を解決することを延期できることを期待していましたが、スイッチは私が思ったほど強力なものです。 –

関連する問題