SVNからGitへ移行する方法!Eclipseで確認!

WEB会議 Git

※この記事にはプロモーションが含まれています。

まだまだ古いプロジェクトはsvnでソース管理をしていて、そろそろGitに移行したいなーと思っている方も多いと思います。

実際に移行してみたのでその手順を備忘も含めて書いておきたいと思います。

調べるとTortoiseGitを使う方法もあるようでしたが、今回はGitのコマンドだけでやりました。

スポンサーリンク

Gitのインストール

コマンド実行するためのGit Bashを使うので、まずはGitがローカルにインストールされていなければ、
Gitをインストールします。

Gitのダウンロードはこちらから↓↓

Git for Windows
We bring the awesome Git VCS to Windows

ローカルにGitリポジトリを作成

ここからの操作はGit Bashを使うので、まずはGit Bashを起動します。

GitBash選択

起動するとコマンドプロンプトみたいなものが立ち上がると思います。

こんなやつ↓

GitBash

まずそこでリポジトリを作成したいローカルフォルダへ移動します。

$ cd [リポジトリを作成したいローカルフォルダ]

移動したらそこでSVNからGitにリポジトリ情報のクローンを作成します。
その時履歴に登録されているユーザー情報が必要になるので、ユーザーの一覧ファイルを作成します。

users.txt のような名前でファイルを作成し、中身はユーザーリストを作成します。

user1 = ゆーざー1 <aaaaaa@aa.co.jp>
user2 = ゆーざー2 <aaaaaa@aa.co.jp>
user3 = ゆーざー3 <aaaaaa@aa.co.jp>

このユーザー情報が足りないと、リポジトリを作成中に途中で止まります。
ですがそのあとユーザー追加して再開できるので、探り探りでも大丈夫です。
おそらく=前の部分がリポジトリの履歴に登録されているユーザーと一致すれば=の後ろは適当で大丈夫です。

ユーザーファイルが作成できたらリポジトリのクローンを作成します。

$ git svn clone [SVNのリポジトリパス] --no-metadata --authors-file=users.txt [プロジェクト名]

これを実行するとしばらくして下記が表示されると思います。

Initialized empty Git repository in [ローカルリポジトリフォルダ].git/

ここからはしばらく反応がありませんが、履歴の数が多いほど時間がかかります。
数分~1時間以上の場合も・・・

しばらく待って完了したら、Eclipseから確認してみましょう

Eclipseでリポジトリ確認

EclipseのGitの操作から、Gitのクローンをクリックし、先ほど作成したローカルのリポジトリを指定します。

Gitのクローン

ヒストリーを表示して最新の履歴まで表示されていれば完了です!

もしヒストリーが途中までしかないような場合は、再びGit Bashに戻ります。

ヒストリーの再取得

再びGit Bashに戻って、先ほど作成したローカルのリポジトリに移動し、下記のコマンドで再取得を行います。

$ git svn fetch

そうすると再度履歴を取得しだします。
履歴取得がこのようなエラーで止まってしまった場合

エラーとなったユーザー名をusers.txtに追加して、再度先ほどのgit svn fetchコマンド実行すると、
今度はエラーとならずに履歴取得が進むようになると思います。

この再取得がエラーとならずに最後まで進むと、完全にsvnからローカルのGitリポジトリに移行完了です。

そしたらあとはローカルのGitリポジトリをGithubなどにプッシュすればGit以降完了と言えるかと思います!

タイトルとURLをコピーしました