git svn 使い方
svn のログを見る
svn リポジトリのログを見るには
git svn log
とする。
subversion のリポジトリを git svn で複製する
git svn clone svn://example.com/svn/repo
とすると subversion のリポジトリを git で扱うことができる。
標準のレイアウトを持つ subversion リポジトリの場合は -s オプションをつける。
git svn clone -s svn://example.com/svn/repo
標準ではないサブディレクトリの svn リポジトリをクローンする
git svn clone に -T でトランク、-b でブランチ、-t でタグのサブディレクトリを指定する。
git svn clone -T TRUNK -b BRANCHES -t TAGS svn://example.com/svn
svn リポジトリの特定のリビジョンをクローンする
-r でリビジョンを指定して
git svn -s -r 100 svn://example.com/svn
のようにすると特定のリビジョンだけのリポジトリをクローンする。 履歴がすべて揃っていないのであまり使わないほうが良い。
svn リポジトリから更新を取得してリベースする
svn リポジトリから更新を取得してリベースするには
git svn rebase
とする。merge するより dcommit しやすくなる。
git-svn のリポジトリのファイルの各行についてリビジョンや作者を表示する
git svn blame <file>
とすると svn blame のフォーマットで表示される。
git blame と似たようなフォーマットで表示するには –git-format オプションをつける。
git svn blame --git-format <file>
git-svn で変更を取得する
git svn fetch
とするとリポジトリから変更を取得する。 ワークツリーは更新されないので、fetch の後に
git svn rebase
などとして反映する必要がある。
git-svn で subversion リポジトリにコミットを送信する
git svn dcommit
とすると subversion リポジトリにコミットが送信される。
git-svn でリポジトリに送信されるコミットの一覧を表示する
-n オプションをつけると実際にはコミットを送信しないで、送信対象のコミットが表示される。
git svn dcommit -n
.git 以下の svn 関係のファイルを整理する
git svn gc
.git/svn 以下のファイルなどが圧縮されたり、削除されたりする。
git-svn で subversion リポジトリにブランチやタグを作成する
git svn branch や git svn tag にブランチやタグを指定する。 -m でメッセージを指定できる。
git svn branch <BRANCH> -m <MESSAGE>
git svn tag <TAG> -m <MESSAGE>
参考
- man git-svn