GITとSVNの同期を取る方法

バージョン管理をSVNでやっているようなシステムでも、自チームや担当内で閉じている工程のうちはGITで管理したい場合がある。GITは何かと便利なので。

その運用にした場合、SVN側はSVN側でバージョンが進んでいくので、どんどんとGIT側が古い状態となっていってしまう。 そのため、定期的にSVNの最新を取り込みたいが、SVNに接続して、最新ソースを落として・・・とやっていくのはとっても面倒くさい。

その場合、git svn を使用すると、簡単に同期が取れる。

準備

ローカルに同期を取る場所を準備

GITから同期を取る対象のプロジェクトをcloneする。

git clone http(等)://path/to

SVN同期用設定作成

.git/configファイルに下記のSVN設定を追記して保存する。

[svn-remote "svn"]
   url = svn://path/to/repository
   fetch = :refs/remotes/svn/git-svn

以上!

同期を取る

あとは同期を取るだけ。

SVNの内容をfetch

git cloneで作成したディレクトリで下記を実行する。

git svn fetch
git svn rebase master

GITにpushする

git push

これで、masterブランチがSVNと同期された状態となる。
masterは、SVNと同期用として使い、そこからコーディング用ブランチを生成して、適時masterの内容をマージするといい感じで使える。

© 2009-2017 Osajiru All Rights Reserved.