TortoiseGitでSVNリポジトリを履歴を含めてGitに移行する
過去にSVNでソース管理していたシステムの改修が発生したタイミングでGitへ移行したので手順をまとめてみました。
開発PCは当時から新しくなっているのでSVN関連のアプリなんてないよ!と思っていましたが、移行にはGit系アプリだけでいいんです!!
実施した環境
PC:Windows10
SVN:VisualSVN
-
Git:GutBucket
※SVN,Gitともに社内オンプレサーバにあり
準備
1.Git for Windowsのインストール
下記からダウンロードしてインストール。
Git for Windows
2.TortoiseGitのインストール
下記からダウンロードしてインストール。
もし日本語化するなら日本語のLanguage Packも併せてダウンロードしてインストール
TortoiseGit
3.移行元SVNのリポジトリURLを取得
チェックアウトする時に使用していたURLです。
わからなければVisualSVNがインストールされているサーバに入り込んで対象のリポジトリを右クリックするとクリップボードにコピーできます。
4.移行先Gitのリポジトリを作成
先に空のリポジトリを作成しておく必要があります。
GitBucketにログイン→「New repository」
ラジオボタンを「Create an empty repository」にしておきます。
作成後に表示されるコマンドを確保
手順
ローカルにフォルダを用意
ソースをクローンするためのフォルダです。
どこでも構いません。
クローンする
「URL」に準備3のURLを入力、「ディレクトリ」は用意したフォルダパス、下のほうの「SVNリポジトリから」をONにして、「ユーザ名」にSVNで使用しているユーザ名を入力します。
すると、途中で処理が止まってtortoisegit cli stdin wrapperのプロンプトが上がってきて英語のメッセージの後半が下記のようになっていると思います。(キャプチャを取り忘れました)
(R)eject, accept (t)emporarily or accept (p)ermanently?
これは接続が正しいかを確認して、 t (一時的に信頼)か p (恒久的に信頼)を選ばせているようなので、問題なければどちらかの文字を入力すると処理が続きます。
この後、SVNのユーザ名に対するパスワードを入力するプロンプトが上がってくるので正しいパスワードを入力すると処理が完了します。
(Git用に変換しているらしく多少時間がかかりました)
無事成功!
Gitリポジトリをリモートに追加
コマンドプロンプトやGit CMDでクローンしたフォルダに移動して下記を実行
git remote add origin ssh:対象のGitリポジトリURL
準備4で最後に表示されたコマンドを実行すればOKです。
※TortoiseGitでもできますがコマンドを実行したほうが断然速いです
pushする
対象フォルダを右クリック→TortoiseGit→プッシュ
Putty鍵の指定を必要に応じて行ってから実行します。
プッシュ成功。
GitBucket側で表示させてみると
履歴も表示されました。
おわりに
基本的にすべてTortoiseGitがやってくれるのでかなり楽にできました。
既にGitを使用する環境であれば簡単に移行できます。
参考
Author And Source
この問題について(TortoiseGitでSVNリポジトリを履歴を含めてGitに移行する), 我々は、より多くの情報をここで見つけました https://qiita.com/psc_mizushi/items/8f1fbdab2c95caa63740著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .