&tag(git-svn);
*目次 [#vadb0409]
#contents
*関連ページ [#sbf13a3f]
*参考情報 [#rc396c37]
-[[備忘録:git-svn運用 | コインいっこいれる:http://www.kurokuru.com/wordpress/?p=147]]

*基本 [#l1b8208c]
**開始 [#y16299ab]
-trunkだけ扱えればよいのであれば以下のコマンドでOK。
 git svn clone {SVNで使っているプロジェクトのURL}
-ブランチやタグを扱いたい場合、-sオプションを使う。
-認証情報は、Windowsの場合c:\Users\ユーザー名\.subversion\auth\svn.simple以下に保存される。保存しないこともできる。
***.svnignoreの反映 [#v49ed373]
- 以下のコマンドを実行。
 git svn show-ignore >> .git/info/exclude

*** プロジェクト設定の変更 [#nb4b152b]
-Eclipseの場合、「チーム>切断」でsvnから切断。「チーム>プロジェクトの共用」でGitを選択する。
**pull [#lf1d7d98]
 git svn rebase

**push [#u60080fb]
 git svn dcommit


*Tips [#udeebb67]
**Authorの問題 [#y78c3c02]
-Authorなどの情報はどうなる、[[svn から git に author 情報を引き継ぎ移行するメモ - masakiのはてなダイアリー:http://d.hatena.ne.jp/ikasam_a/20090206/1233938876]]。
-Author.txtにマッピングファイルを準備しておくとよいらしい。さらにsvn.authorsfileというものgit config --globalで設定できるらしい。

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

**Subversionからgitに完全に以降したい場合 [#r80a2893]
-git svn cloneし、git ignoreを準備し、適当なurlにpushする。[[Subversionのリポジトリからgitリポジトリに移行する - 作業ノート:http://te2u.hatenablog.jp/entry/2014/09/16/173732]]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS