ページ

2019年5月26日日曜日

Subversionで直前のコミットを取り消す.

間違えてコミットしてしまった!という状況の回復.

まずは,作業ディレクトリを最新の状況にして,リビジョンを確認する.
$ svn update
Updating '.':
At revision 354.

リビジョン354を取り消して,353に逆マージする.(ここでは,リビジョン354でコミットしたClassAというクラスの作成を取り消している.最後のドットを忘れないように注意)
$ svn merge -r 354:353 .
--- Reverse-merging r354 into '.':
D    ClassA.h
D    ClassA.cpp
--- Recording mergeinfo for reverse merge of r354 into '.':
 U   .
--- Eliding mergeinfo from '.':
 U   .

これをコミットすれば作業完了(念の為,コミットする前にビルド&動作確認とかしておくと良い.)
$ svn commit 


また,ファイル単位で元に戻したいときは,以下のようにすればファイル単位での修正も可能.
$ svn merge -r 354:353 ClassA.h 
--- Reverse-merging r354 into 'ClassA.h':
D    ClassA.h
--- Recording mergeinfo for reverse merge of r354 into 'ClassA.h':
 U   ClassA.h
--- Eliding mergeinfo from 'ClassA.h':
 U   ClassA.h

以上.

0 件のコメント:

コメントを投稿