目次
今日はSVNからGitに移行するやり方を紹介します。
SVNからGitに移行する際によく使うものはgit-svnです!
git-svnとは
Git と Subversion の橋渡しをするコマンド群のベースとなるコマンドです。
やりたいこと
- SVNブランチをGitリポジトリとして移行すること
- ignoreも移行する
- 過去のSVNログも全部引き継ぐ
- SVN側で進んだ分を再取込する
SVNブランチをGit化に変換
やる方は2通りがありまして、git svn cloneとgit svn fetchです。
git svn clone
git svn clone --trunk=対象ブランチのパス --prefix=svn/ https://sample.com/svn ./Bitbucketリポジトリ名
–prefixは必ず付けましょう!
git svn fetch
git svn init --trunk=対象トランク --prefix=svn/ https://sample.com/svn ./Bitbucketリポジトリ名 git svn fetch
git svn cloneの場合失敗したら、最初からやり直しになるので、git svn fetchであれば
途中で失敗した部分から再開することができる
# エラーのリビジョンから再開 git svn fetch -r 3594:HEAD
ignoreの移行
git svn show-ignore > .gitignore git add .gitignore git commit -m 'add gitignore'
リモートブランチにpushする
git branch svn-backup git branch git push origin svn-backup
SVNから差分を取り込む
git svn rebase git push origin svn-backup