Gitで管理してたプロジェクトの途中からSubversionを中央リポジトリとして使う方法

前回の記事がものすごい勢いでかきかけですが、こんばんは。


もともとはひとりで開発していてGitを利用していて途中でSubversionリポジトリを用意する必要ができたのでその際に行ったことを書いておきます。
まず、Subversionリポジトリを用意します。
環境しだいだと思いますが、例を書いておきます。

svnadmin create [svnリポジトリ] --fs-type fsfs
svn mkdir [svnリポジトリ]/trunk [svnリポジトリ]/branches [svnリポジトリ]/tags -m "make directory for branches"

プロジェクトのリポジトリに移動して以下の用な作業をします。

git svn init [svnリポジトリ] -T trunk -b branches -t tags
git svn fetch   # リポジトリから取得
git checkout -b temp # masterブランチを元にtempブランチを作成して チェックアウト
git rebase trunk  # trunkを基準にリベース
git svn dcommit # svnにコミット
git branch -M master # tempブランチをもとにmasterブランチを作成(すでにmasterという名前のブランチが存在しても強制的に)
git branch -D temp # tempブランチを削除

わざわざtempブランチを作る必要はありませんが、保険でtempブランチをつくって作業しました。
ちゃんとバックアップをとって自己責任でおこないましょう。

はまりポイントとしてローカルなsubversionリポジトリを使うと上手くうごきませんでした。