svnからGitHubEnterpriseに移行
〆(._.)メモメモ.
事前準備
svn2gitコマンドを使います
gem installでインストールできますた
$sudo gem install svn2git
いけた
カンタン
移行
例
project_BをsvnからGitHubEnterpriseに移動します。
|o゚д゚)なんでBやねんって、、、さっきAはやっちゃったから。。。
GHE側の準備
GitHubEnterprise上でorganization作る
やり方は割愛。
画面からぽっちぽっち作れるよ。
organizationを作ったら、必要なメンバーをいれておきましょう。
svnのプロジェクトをgit用の形に変換
最初にインストールした、svn2gitを使いますよ
適当なサーバで、作業ディレクトリとか切ってやりましょう
#プロジェクトのディレクトリを作る $mkdir project_B $ cd project_B
変換のコマンドはこんな感じ
$svn2git -v --trunk ${TRUNK_DIRECTORY} --branches ${BRANCHES_DIRECTORY} --tags ${TAGS_DIRECTORY} http://${SVN_IP}/svn/${REPISITORY_NAME}/${PROJECT_NAME}
今回は、
http://xxx.xxx.xxx.xxx/svn/test_svn2git/project_B
を移行したくて、
プロジェクト構成は、project_Bの下に、trunk,branches,tagsがあるので
$svn2git -v --trunk trunk--branches branches --tags tags http://${SVN_IP}/svn/test_svn2git/project_B #.gitができていることが確認でいる $ cd project_B $ ls -a | grep .git .git
GHEにpushするお
$ git remote add origin http://gheのIP/organazationの名前/NEW_REPOSITORY.git $ git branch -a #GHE側で初期化しちゃった場合は、「おまけ」参照 $ git push --all origin $ git push --tags origin
確認
GHEで正常にpushされてるか確認
cloneできるか確認 git clone http://gheのIP/organazationの名前/NEW_REPOSITORY.git
おまけ
#GHE側で初期化しちゃった場合は、-f が必要 $ git push -f --all --progress origin $ git push --tags --progress origin