2017-12-27 66 views
1

私たちはプロジェクトに取り組んでいます。突然、協力していない/頑固な人が入って、プロジェクトを台無しにしたものをチェックインしました。だから私たちはまだ最後に知られている作業リビジョンを使用しながら作業していて、通常のように私の変更をチェックインしました。その後、プロジェクトマネージャーは最後の作業リビジョン(r1810)まですべてを元に戻すことを決断し、r1824になりました。特定のリビジョンの変更を作業/ヘッドリビジョンにコピー/再適用する方法は?

1814年、1815年、1821年の私のリビジョンを再適用するにはどうすればいいですか?

WindowsエクスプローラでTortoise SVN、Visual StudioでAnkhSVNを使用していますので、SVNで作業中にコマンドプロンプトを使用するにはまだ初心者です。

答えて

4

これらの変更を「チェリーピック」する必要があります。

the manualを引用するには:

<

...>長期チェリーピッキング。この言葉は、ブランチから特定のチェンジセットを1つ選択して別のセットに複製する行為を指します。 チェリーピッキングは、特定の (必ずしも連続しているわけではありません)チェンジセットをあるブランチから別のブランチに複製して 別のブランチに複製する行為を参照することもできます。これは、 リビジョンの「次の」隣接範囲が自動的に複製される、より典型的なマージシナリオとは対照的です。

svn merge -c 1814 ^whatever/branchを使用してください。 再び、the manualを引用する:

--change (-c) ARG

は、特定の「変更」を使用して要求された操作を実行します。 一般に、このオプションは-r ARG-1:ARGの構文的砂糖です。 一部のサブコマンドでは、リビジョン の引数のカンマ区切りリスト(たとえば、-c ARG1,ARG2,ARG3)が許可されています。または、 ダッシュ(-c ARG1-ARG2のように)で区切られた2つの引数を に提供すると、ARG1ARG2の間のリビジョンの範囲を特定できます。 最後に、改訂引数が否定された場合、暗黙の改訂 の範囲が逆になります。-c -45-r 45:44に相当します。

更新:OPで推薦して、彼らは開発のための単一の分岐を 使用しているので、svn merge -c--ignore-ancestryコマンドラインオプションを使用する必要がありました。

+0

私はTortoiseSVNでそれを行う方法を見つけたので、私もプロジェクトを台無しにするかもしれないので、コマンドプロンプトを使用することを躊躇しています。私たちは単一のブランチだけで作業しているので、オプション--ignore-ancestryを追加する必要があります。 – eSPiYa

+0

@eSPiYa私は実際にコマンドラインを使うことを勧めているわけではありませんでした。(私はちょうどそれをやるほうが好きですが) - これらのことについて話すときには共通の根拠が必要です。 VCツールの場合、コマンドラインインターフェイスは通常、共通のグランドです。そのアプローチを高レベルのツールにマップするのは合理的に簡単ですが、逆は通常は難しくなります(ツールも異なります)。 – kostix

関連する問題