skip to content
サイトロゴ 子育てSEパパのIT・AI×副業ラボ
Table of Contents

この記事で扱う内容

この記事では、TortoiseSVNで変更・削除したバージョン(履歴)管理対象のフォルダやファイルを過去のバージョンに復元する方法についてご紹介します。

前提

前提知識・前提スキル

  • Windows OS の基本操作ができる人

前提環境

  • 使用PC
    • OS が Windows 10または 11であること
    • TortoiseSVNがインストールされていること
    • TortoiseSVNでリポジトリと作業コピーが作成されていること
    • TortoiseSVNでバージョン管理対象のフォルダやファイルの変更(追加・削除・変更)がおこなわれている(履歴がある)こと
参考記事TortoiseSVNを日本語化する方法|ダウンロードから設定まで完全手順 参考記事TortoiseSVNでローカルリポジトリと作業コピーを作成する方法【初心者向け】 参考記事TortoiseSVNでフォルダやファイルをバージョン管理(履歴)対象として追加する方法【初心者向け】 参考記事TortoiseSVNでバージョン(履歴)管理対象のフォルダやファイルを変更する方法【初心者向け】 参考記事TortoiseSVNでバージョン(履歴)管理対象のフォルダやファイルを削除する方法【初心者向け】

TortoiseSVNで変更・削除したフォルダやファイルを過去のバージョンに復元する方法

TortoiseSVNで変更・削除したフォルダやファイルを過去のバージョンに復元する方法のアイキャッチ画像

今回は例として、作業コピー内の「trunk」フォルダを使用し、変更・削除したバージョン(履歴)管理対象のフォルダやファイルを元に戻します(復元)

変更・削除内容例は、フォルダ名の変更とExcelファイルの内容変更です。

例)変更・削除前

変更前のtrunkフォルダ内容の画面キャプチャ 変更前のExcelファイル内容の画面キャプチャ

例)変更・削除後

変更後のtrunkフォルダ内容の画面キャプチャ 変更後のExcelファイル内容の画面キャプチャ

このとき、復元したい対象が「リポジトリに反映済みか否か」によって、復元する方法が異なります

作業コピーの変更・削除をリポジトリに反映する前の復元の場合

作業コピーの変更・削除をリポジトリに反映する“前”の場合、以下の方法で復元できます。

操作操作結果復元単位そのままコミット作業コピーへの影響リポジトリへの影響
変更の取り消し作業コピーの“全部”を、リポジトリの最新の内容に復元する。作業コピーの全部できないありなし

変更の取り消し

変更の取り消しのアイキャッチ画像
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→変更の取り消し」を選択する
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→変更の取り消し」を選択する操作の画面キャプチャ
変更の取り消しダイアログが表示されるため、復元したい変更操作のチェックボックスにチェックが入っていることを確認し、「OK」ボタンを押す
変更の取り消し 終了ダイアログが表示されるため、「OK」ボタン押す
変更の取り消し 終了ダイアログが表示されるため、「OK」ボタン押す操作の画面キャプチャ

作業コピーの変更・削除をリポジトリに反映した後の復元の場合

作業コピーの変更・削除をリポジトリに反映した“後”の場合、以下の方法で復元できます。

操作操作結果復元単位そのままコミット作業コピーへの影響リポジトリへの影響
特定リビジョンへ更新作業コピーをリポジトリの特定のリビジョンの内容に復元する。作業コピーの全部できないありなし
特定のリビジョンに戻す作業コピーをリポジトリの特定のリビジョンの内容に復元する。作業コピーの全部できるありコミットすれば“あり” コミットしなければ“なし”
特定のリビジョンにおける変更を取り消す作業コピーをリポジトリの特定のリビジョンの変更を取り消した内容で復元する。作業コピーの全部または一部できるありコミットすれば“あり” コミットしなければ“なし”

リビジョンは、リポジトリに変更(コミットなど)を加えるたびに付けられる「バージョン(履歴)の番号」のようなものだと思っておけば良いでしょう。

特定リビジョンへ更新

特定リビジョンへ更新のアイキャッチ画像
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→特定リビジョンへ更新」を選択する
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→特定リビジョンへ更新」を選択する操作の画面キャプチャ
更新ダイアログが表示されるため、「ログを表示」ボタンを押す
更新ダイアログが表示されるため、「ログを表示」ボタンを押す操作の画面キャプチャ
リビジョンログダイアログが表示されるため、復元したいリビジョンの上で右クリックし、表示されるメニューで「項目をこのリビジョンへ更新」を選択後、「OK」ボタンを押す
ログメッセージダイアログが表示されるため、復元したいリビジョンの上で右クリックし、表示されるメニューで「項目をこのリビジョンへ更新」を選択後、「OK」ボタンを押す操作の画面キャプチャ
更新ダイアログの「リビジョン」のチェックボックスがチェックされ、リビジョン番号が設定されるため、確認し、「OK」ボタンを押す
更新ダイアログの「リビジョン」のチェックボックスがチェックされ、リビジョン番号が設定されるため、確認し、「OK」ボタンを押す操作の画面キャプチャ
更新 終了ダイアログが表示されるため、「OK」ボタン押す
更新 終了ダイアログが表示されるため、「OK」ボタン押す操作の画面キャプチャ

特定のリビジョンに戻す

特定のリビジョンに戻すのアイキャッチ画像
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→ログを表示」を選択する
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→ログを表示」を選択する操作の画面キャプチャ
リビジョンログダイアログが表示されるため、復元したいリビジョンの上で右クリックし、表示されるメニューで「このリビジョンに戻す」を選択後、「OK」ボタンを押す
リビジョンログダイアログが表示されるため、復元したいリビジョンの上で右クリックし、表示されるメニューで「このリビジョンに戻す」を選択後、「OK」ボタンを押す操作の画面キャプチャ
「変更を取り消しています」メッセージのダイアログが表示されるため、「変更を取り消す」を押す
「変更を取り消しています」メッセージのダイアログが表示されるため、「変更を取り消す」を押す操作の画面キャプチャ
マージ 終了ダイアログが表示されるため、「OK」ボタン押す
マージ 終了ダイアログが表示されるため、「OK」ボタン押す操作の画面キャプチャ
リビジョンログダイアログで「OK」ボタンを押す
リビジョンログダイアログで「OK」ボタンを押す操作の画面キャプチャ

この後、

作業コピーの内容をリポジトリに反映したい場合は、「コミット」操作をする。

作業コピーを復元前に戻したい場合は、「変更の取り消し」操作をする。

特定のリビジョンにおける変更を取り消す

特定のリビジョンにおける変更を取り消すのアイキャッチ画像
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→ログを表示」を選択する
「trunk」フォルダのフォルダやファイルではない場所を右クリックし、表示されるメニューで「その他のオプションを確認→TortoiseSVN→ログを表示」を選択する操作の画面キャプチャ
リビジョンログダイアログが表示されるため、“取り消したい変更があるリビジョン”の上で右クリックし、表示されるメニューで「このリビジョンにおける変更を取り消す」を選択後、「OK」ボタンを押す
リビジョンログダイアログが表示されるため、変更を取り消したいリビジョンの上で右クリックし、表示されるメニューで「このリビジョンにおける変更を取り消す」を選択後、「OK」ボタンを押す操作の画面キャプチャ
「変更を取り消しています」メッセージのダイアログが表示されるため、「変更を取り消す」を押す
「変更を取り消しています」メッセージのダイアログが表示されるため、「変更を取り消す」を押す操作の画面キャプチャ
マージ 終了ダイアログが表示されるため、「OK」ボタン押す
マージ 終了ダイアログが表示されるため、「OK」ボタン押す操作の画面キャプチャ
リビジョンログダイアログで「OK」ボタンを押す
リビジョンログダイアログで「OK」ボタンを押す操作の画面キャプチャ

この後、

作業コピーの内容をリポジトリに反映したい場合は、「コミット」操作をする。

作業コピーを復元前に戻したい場合は、「変更の取り消し」操作をする。

参考