git-svnでSubversionからGitへ移行する
会社の人に教えてもらったので、試してみた。 svnってよくわからないわ...
1. SVN→Gitへレポジトリを変換する
cloneする
$ git svn clone -s --prefix=svn/ https://hogehoge.com/svn/yourapp
もしくは
init&fetchする
git svn init -s --prefix=svn/ https://hogehoge.com/svn/yourapp git svn fetch
注意点:
「clone
する」のと「init
してfetch
する」のは同じだけど、エラーが出た時に途中から再開できる「init
してfetch
」のほうが良いみたいです。
Gitブランチと区別するために、前に--prefix=svn
とつけると、svn/branch-name
となる。
2. ブランチを移行する
上の作業で、SVNブランチ"branch01"
が Git リモートブランチ"svn/branch01"
となったので、"branch01"
としてGitブランチとする。
$ git branch r svn/trunk svn/branch01 svn/branch02
ローカル環境にSVNと同じ名前のブランチを作る
$ git checkout -b "branch-name" "svn/branch-name"
Gitのリモートリポジトリにpushする
$ git remote add origin git@github.com:acccount-name/repo-name.git $ git push -u origin --all
Subversion管理している昔の案件があったりするので、機会があれば使ってみようかな。