svn上のプロジェクトを手元にcheckoutしてgitで開発する

あまり頻繁にやらない→やるたび毎回忘れるのでメモ。

環境

  • 中央リポジトリはsubversion (http)
  • 手元のVM(CentOS)ではgitを使いたい
  • ホストはWindows、Turtoise SVNを使う
  • ファイルシステムはWindows上に置き、VMからマウントして使う

作業

チェックアウト
% git svn clone http://exapmle.com/project_name/trunk project_name

チェックアウトしたディレクトリをWindows上で右クリック→SVN Checkout→該当プロジェクトをチェックアウト。git svnでcloneしたディレクトリに重ねてチェックアウトする。

日常の開発

普段はgitでbranchを切って、その上で生活する。svn commit(中央リポジトリへpush)するときは…

% git checkout master               # git側をmasterに切り替える
% git svn rebase                    # svn側の変更を取り込む
% git rebase master branch_name     # masterの変更をbranchに適用
% git checkout master               # git側をmasterに切り替える
% git merge branch_name             # branchの開発成果をmasterにmerge
% git svn dcommit                   # 変更をsvnにcommit

プロジェクトディレクトリを右クリック→SVN Updateし、svn側のバージョン情報をローカルにマージしておく。

Links

Subversionリポジトリと連携できるgit-svn – SourceForge.JP Magazine : オープンソースの話題満載
http://sourceforge.jp/magazine/09/03/26/0834222

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です