[git] Subversionからgitへ移行する
7月 17th, 2008 Posted in git
ソースコードなどを管理するリポジトリをSubversionからgitへ移行する方法です。gitからSubversionへコミットを反映する方法も書きます。
・Subversionリポジトリをgitリポジトリへ変換する方法
git svn cloneコマンドを使ってSubversionリポジトリをクーロンし、gitのローカルリポジトリへ変換します。
$ git svn clone <subversion リポジトリ> </subversion>
リポジトリのコピーだけでなく、過去の履歴もちゃんとコピーできます。
Subversionでtrunkやbranches、tagsのようなディレクトリを切ってある場合には、それぞれ-T、-b、-t1オプションで指定することで、ブランチとしてコピーできます。
$ git svn clone -T trunk -b branches -t tags <subversion リポジトリ> </subversion>
これでgitリポジトリ内でファイルの追加や削除、コミットができます。
・gitリポジトリをSvbversionリポジトリの最新の状態と同期させる
gitリポジトリをSvbversionリポジトリの最新の状態と同期させるには以下のよようにします。
$ git svn rebase
また、gitリポジトリでの変更をSubversionリポジトリへ反映させるには以下のようにします。
$ git svn dcommit
どちらもクーロンをコピーしたSubversionリポジトリを対象とするので、特別リポジトリを指定する必要はありません。