超絶オレオレメモ

前回は、すでにあるsvnレポジトリから、git-svnを使って、ローカルにgitレポジトリを作る方法だったので、今回は既存のプロジェクトから、バックアップレポジトリを作る方法。

ローカルプロジェクトに対して、gitリポジトリの作成 & コミット

ひょっとすると、SVNのように一気にサーバーのリポジトリにインポートする方法があるのかもしれないけど、わからなかったので段階を踏む。
projectと言うディレクトリにファイルがあるとして

% cd project
% git init
% git add ファイル名
% git commit -m "Initial Commit"

サーバー側のgitリポジトリの作成

gitreposと言うディレクトリに作るとして

$ cd gitrepos
$ mkdir project
$ cd project
$ git --bare init

サーバー側にpushする

ssh経由でアクセス(鍵はすでに作っているものとする)

% git push ssh://ユーザ名@マシン名/・・・/gitrepos/project master

あとは、サーバーなりローカルで適当にcloneを作ってしまえばおk.

git-svn rebase中にコンフリクトして止まる

シチュエーションはこのブログと同じ。
http://www.toshiki.net/x/modules/wordpress/index.php?p=104

競合を解消するしかない。競合を解消するときに、手動で解消して、git addするのが王道だが、どちらか一方だけを採用したい場合、

% git checkout FETCH_HEAD Makefile
or
% git checkout ORIG_HEAD Makefile

等をすればよい。

その後、git rebase --continue or --skip等をして、rebaseする。
(git svn rebase == git fetch + git rebase なので、git svn rebaseする必要はない)