私はフィーチャーブランチを作成し、何度かコミットしました。いくつかのファイルを、私のフィーチャーブランチに触れたことがないかのように元に戻す必要があります。言い換えれば、私はそれらを再統合したくありません。SVN機能ブランチからの変更を元に戻す方法
どうすればいいですか?
私はフィーチャーブランチを作成し、何度かコミットしました。いくつかのファイルを、私のフィーチャーブランチに触れたことがないかのように元に戻す必要があります。言い換えれば、私はそれらを再統合したくありません。SVN機能ブランチからの変更を元に戻す方法
どうすればいいですか?
私が正しく理解している場合、あなたの状況は以下の通りです:あなたは機能のブランチ作成した
:
$ svn cp ^/trunk/ ^/branches/feature
をあなたは^/branches/feature
にいくつかの仕事をしたし、コミットしました。
$ ... work, work, work ...
$ svn ci
ここでいくつかの変更を元に戻したいとします。
逆のマージを行います。
まず、あなたがsvn log
を使用して元に戻すしたいリビジョンをチェック:
In your featured branch working copy:
$ svn log -v
-----------------------------------
r234 ...
Changed paths:
M /branches/featured/file.c
Implemented a feature
-----------------------------------
In the trunk working copy:
$ svn merge --reintegrate ^/branches/feature .
あるブランチから別のブランチにマージする場合、最初のブランチで発生した差分のみをマージします。ファイルに触れていない場合は、ファイルの差分はありませんので、これらのファイルに触れる再統合の部分はありません。だから、何も元に戻す必要はありません。 revert
を実行すると、クライアント上の作業コピーで行った変更が元に戻され、ブランチやリポジトリとは何の関係もありません。
、と私は、リポジトリと連携し、機能にいくつかのファイルが返されますrevertコマンドの対応を必要とする:トランクに
$ svn merge -c -234 .
再統合:改正前の-
に注意してください。機能ブランチを作成する時点の状態に分岐します。 –
dmiandre
それは私が必要とするものです!しかし、私はコミット全体を元に戻すことはできません。いくつかのコミットで1つのファイルだけ。もう1つの理由は、ちょうど亀のSVNで変更を元に戻すことができないということです。機能ブランチの名前を変更しました。 – dmiandre
@dmiandreの場合、特定のファイルを逆マージすることができます。 $ svn merge -c -234 path/to/file – Paker