on何かJavaScriptとかVimとかMacとかに関係してそうな深淵から覗かれる者この広告は、90日以上更新していないブログに表示しています。2012-12-16git-svnを使うときのベストプラクティスGitいつもの事ですが、タイトルは釣り。現在のプロジェクトにアサインされてから、VCSがsvnに逆戻りしてしまったのでかれこれ5ヶ月近くgit-svnを使用してます。初めの頃に2~3回程checkoutしなおすレベルの失敗があったりしましたが、ここの所はそれほど問題無く運用してます。gitとsvnでもう根本の仕組みから全然違うんで、ある程度しょうがないのですが、ちょっとばかり気をつけないとハマる可能性があるので、その点について語ります。直接コミットなどしない自分の中ではこれが鉄則になってます。普通のsvnの構成だと、trunkがgitのmasterブランチになりますが、何かの修正するって時にはどんだけ軽い修正とかでも絶対にトピックブランチを作ってます。原則として、masterブランチ(や、他のsvnで作ってあるブランチ)には、gitを使用してのコミットはしないというルールを守っています。全部まとめてマージしています。svn側にコミットするという流れです。したらリポジトリが壊れました。上記のように、修正や機能追加でトピックブランチが乱立する訳で、そちらにはmasterがアップデートされた場合に取り込む必要があります。方がトラブルが無くて良いです。そもそも論ですが、svnは履歴が一直線になるんで、それに合わせた方が良いという理由なんですが、一度マージしてしまいmergeコミットが出来たのをさらに、masterに取り込もうとしたらリポジトリが壊れました。まとめという事で以上の2点を守れば、そこそこ快適にgit-svnを使えるんじゃないかなーと思っています。