Tag: git-svn

目次

関連ページ

参考情報

基本

開始

  • trunkだけ扱えればよいのであれば以下のコマンドでOK。
    git svn clone {SVNで使っているプロジェクトのURL}
  • 過去のリビジョンが不用な場合はHEADを指定する。
    git svn clone -r HEAD {SVNで使っているプロジェクトのURL}
  • ブランチやタグを扱いたい場合、-sオプションを使う。
  • 認証情報は、Windowsの場合c:\Users\ユーザー名\.subversion\auth\svn.simple以下に保存される。保存しないこともできる。

.svnignoreの反映

  • git svnで使い続けたい場合、以下のコマンドを実行。
    git svn show-ignore >> .git/info/exclude
  • gitに完全移行する場合(これがおすすめ)
    git svn show-ignore > .gitignore
  • または(ただし.gitignoreがたくさん作られる)。
    git svn create-ignore

プロジェクト設定の変更

  • Eclipseの場合、「チーム>切断」でsvnから切断。「チーム>プロジェクトの共用」でGitを選択する。

pull

git svn rebase

push

git svn dcommit

svnリポジトリを確認

git svn info

Tips

Authorの問題

トピックブランチのコミットログの問題

  • git-svn 利用時にトピックブランチを master へマージするときどの方法が一番良いのか - 刺身☆ブーメランのはてなダイアリーにまとめられている。
  • トピックブランチ(git local)をmasterにマージするとき、
    • 単なるmerge: オプションをつけない場合、それぞれのcommitがsvnのログにも反映される。
    • "--no-ff": 単一のマージコミットにまとめられる。ログも自動的に付けられてしまうので、--no-ff --no-commitにしてマージするけどコミットしない状態にするのが良いかもしれない。
    • "--squash"だとgitのログ上もマージ履歴がのこらない。
  • "--no-ff --no-commit"としてgitの履歴にマージ履歴を残しつつ、マージコメントを編集して、その単位でsvnに反映するのが一番よいかも。

Subversionからgitに完全に以降したい場合

svn remote関連を削除

トラブルシューティング

過去のリビジョンが取得できない


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:47:49