目次

Subversion のリポジトリを Git のリポジトリに移行する

目次

Subversion のリポジトリを Git のリポジトリに移行する手順を紹介します。

事前準備

Subversion のリポジトリを Git のリポジトリに移行する手段としてGitコマンドを実行する方法が挙げられますが、今回はTortoiseGitを利用してSubversionのリポジトリをGitのリポジトリに変換する方法を用います。変換に先立ち、TortoiseGitをインストールします。インストール手順の詳細はこちらの記事を参照してください。

手順

エクスプローラのウィンドウで右クリックしポップアップメニュー(コンテキストメニュー)を表示します。メニューの[Git クローン(複製)...]をクリックします。
Subversion のリポジトリを Git のリポジトリに移行する:画像1

[Git クローン]のダイアログが表示されます。
Subversion のリポジトリを Git のリポジトリに移行する:画像2

[既に存在するリポジトリをクローン]のセクションの[URL]のテキストボックスにSubversionのリポジトリを指定します。
Subversion のリポジトリを Git のリポジトリに移行する:画像3

指定するSubversionのリポジトリは、リポジトリのルートを指定します。指定したディレクトリの直下に"trunk","tags","brunches"ディレクトリがあるディレクトリです。
Subversion のリポジトリを Git のリポジトリに移行する:画像4

ダイアログの[OK]ボタンをクリックします。Subversionのリポジトリからのチェックアウトが始まります。
Subversion のリポジトリを Git のリポジトリに移行する:画像5

チェックアウト後、Gitリポジトリへの変換処理が実行されます。処理が成功すると下図の画面が表示されます。「成功」のメッセージが表示されます。
Subversion のリポジトリを Git のリポジトリに移行する:画像6

Gitリポジトリに変換されたディレクトリが作成されます。
Subversion のリポジトリを Git のリポジトリに移行する:画像7

変換されたGitリポジトリをリモートサーバーにプッシュしてGitリポジトリにファイルを追加します。変換が完了したリポジトリのディレクトリを選択し右クリックします。ポップアップメニュー(コンテキストメニュー)が表示されます。メニューの[TortoiseGit]の[プッシュ]をクリックします。
Subversion のリポジトリを Git のリポジトリに移行する:画像8

TortoiseGitの[プッシュ]ダイアログが表示されます。[宛先]セクションの[管理]ボタンをクリックします。
Subversion のリポジトリを Git のリポジトリに移行する:画像9

TortoiseGitの[設定]ダイアログが表示されます。左側のツリービューで[リモート]が選択された状態で画面が表示されます。
Subversion のリポジトリを Git のリポジトリに移行する:画像10

[リモート]のテキストボックスに識別用のリモートの名称を入力します。[URL]のテキストボックスにGitのリモートリポジトリのURLを入力します。Team Foundation Server のGitリポジトリを利用している場合は、Gitリポジトリの複製の際にアクセスするURLを指定すればよいです。
同様に[プッシュURL]のテキストボックスにプッシュ先のURLを入力します。こちらも、Team Foundation Server のGitリポジトリを利用している場合はGitリポジトリの複製の際にアクセスすのURLを指定すればよいです。

Subversion のリポジトリを Git のリポジトリに移行する:画像11

Team Foundation Server のGitリポジトリを利用している場合のURLの形式は

http://(サーバー名)/tfs/defaultcollection/_git/(リポジトリ名)

となります。
Subversion のリポジトリを Git のリポジトリに移行する:画像12 Subversion のリポジトリを Git のリポジトリに移行する:画像13

入力が完了した後、[新規に追加/保存]ボタンをクリックして設定を保存します。[OK]ボタンをクリックし設定ダイアログを閉じます。

プッシュダイアログに戻り、[宛先]セクションの[リモート]のコンボボックスを開き、先ほど設定したリモート接続先の項目を選択します。設定後[OK]ボタンをクリックしてプッシュします。
Subversion のリポジトリを Git のリポジトリに移行する:画像14

すべてのブランチをプッシュする場合は、[すべてのブランチをプッシュ]にチェックをします。
Subversion のリポジトリを Git のリポジトリに移行する:画像15 Subversion のリポジトリを Git のリポジトリに移行する:画像16

プッシュが実行されます。
Subversion のリポジトリを Git のリポジトリに移行する:画像17

プッシュが完了すると下図の[成功]のメッセージが表示されます。[閉じる]ボタンをクリックしてダイアログを閉じます。
Subversion のリポジトリを Git のリポジトリに移行する:画像18

リポジトリのポータルサイトにアクセスしファイルの一覧を確認します。ファイルが追加されていることが確認できます。
Subversion のリポジトリを Git のリポジトリに移行する:画像19

SubversionのリポジトリをGitリポジトリに変換しリモートリポジトリに追加できました。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2017-11-26