テクニカル雑記帳です
Subversion(SVN)で古いリビジョンに戻してコミットする
あまりにも昔の同内容の記事にアクセスが続いていたので、コマンドラインからの実行方法をまとめました。 試していないので本当にこれでちゃんと動くのか怪しげではあるのですが、gitとやることは変わらないのでおそらく大丈夫かと思います。
※この作業は新たにブランチを作成してから行った方が良いぞ!
1. リビジョンの確認
戻したいリビジョンを特定する
svn log
2. 最新のリビジョンに更新する
svn update
3. リバートする
svn merge
で特定の古いリビジョンに戻る。
svn merge -r HEAD:{{戻りたいリビジョン番号}} {{リポジトリのURL}}
ちょっと解説すると、svn merge -r N:M URL_TO_REPOSITORY
としたとき、-r
:リビジョン(Revision)の指定オプション
N
:開始リビジョン番号
M
:終了リビジョン番号
URL_TO_REPOSITORY
:リポジトリのURL
を表します。
このコマンドは、N
と M
の間の変更差分を現在の作業コピーにマージします。
リビジョン番号を最近から過去に(例えば -r 100:99)することで、特定の"最近のリビジョン"から"過去のリビジョン"へ戻すことができます。
4. 変更を確認する
マージが正しく行われたかを確認するため、変更を確認する。
svn status
svn diff
5. コミットする
コンフリクトがないことを確認してから、以下のコマンドで任意のコメントを入れて変更をコミットする。
svn commit -m "Reverted to revision xxxxx."