Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マジカルsvnとキュアgit

 マジカルsvnとキュアgit

2013-03-22 第5回テックヒルズ『Go to Git !』~さらばSVN~

Avatar for Takafumi ONAKA

Takafumi ONAKA PRO

March 22, 2013
Tweet

More Decks by Takafumi ONAKA

Other Decks in Technology

Transcript

  1. 自己紹介 • 大仲 能史 • @onk • 普段の仕事 – アプリケーションエンジニア

    – ソーシャルゲーム開発部 – 前線でアプリ開発をしています copyright© DRECOM Co., Ltd All Rights Reserved. 3
  2. 今日話すこと • 話すこと – みんなでgit化する方法 • 話さないこと – 一人でgitを始める方法 –

    例えばgit-svnで今すぐ中央svnリポジトリ<-> 自分はgitで開発、とするとか – git-svnは1年半ほど使い倒したので興味があ る方は直接聞きに来てください
  3. git移行時の フロントエンド選定ポイント • web UI • ユーザ管理やリポジトリ管理等もwebから 行える • pull

    request相当の機能がある • 継続してメンテナンスできる • OSSに貢献する敷居を下げる
  4. 移行期間を設ける • クロスコミットするようにした – git-svn-bridge • svnにcommit / gitにpushどちらでもいい –

    「重要なので、svnで失礼します」 – リリースフローはsvnのまま変えない • まずgitに慣れてもらって、その間に cherry-pickが必要なリリースフローを直 す
  5. 上を倒す • githubの説明、レビュー文化の説明 • 「正しい文化だから取り入れましょう」 – コードレビューが改善として上がる状況なら これは納得してもらえる • GHEを入れるほどは倒せなかった

    – 予算に組み込まれてないので数百万のイニ シャルコストはまずい – 継続的なコストはそこまで気にしていないの で勝手にgitlab化を進めた
  6. 横を倒す • メリットを提示する – そもそも変更履歴という概念があまりなく、共有 サーバとして使っている – 画像の差分が見られるよ • 元気なプロジェクトで試して便利そう楽しそ

    うに見せる – pull requestでワイワイする – 全ユーザが全プロジェクトを見れるようにし、 回ってるプロジェクトを見せて使い方をイメージ してもらう
  7. 横を倒す • 移行しない理由を潰す – 推奨クライアントの設定、ドキュメント整備 • windowsがネック。SourceTree出ましたね! • エンジニア向けにはtigやfugitive、magitの説明 –

    全プロジェクト、勝手に同期しておく – 全社的に移行する姿勢を見せる • ドメインを会社のトップレベルにした – 使い始めてくれたプロジェクトのIRCを張って、 不満を言われた瞬間に直す
  8. 横を倒す • 移行しない理由を潰す – 詰まった時にすぐ聞ける環境を作る – 各プロジェクトに2人以上gitのコミットオブ ジェクトを理解している人を配備 – 置き換えるための不安を潰し続ける

    • 今やってる~の作業、gitではこの手順書を見てく ださい • コンフリクトが起きたらコミットツリーを描いて 何故おきたのか、どうすればいいのかを説明する
  9. 全てのプロジェクトを移行する • gitでの様々な手順書を用意する • 上手い使い方を発表してもらう • キリ番を祝う – 【祝】issue 100

    • 移行してないプロジェクトは仲間外れだ よね、カッコ悪いよねという空気の醸成 – 「開発者はうまく怒らせるとすごい生産性を 発揮する」
  10. リポジトリをgitにするだけじゃダ メなの? • ワークフローはツールが規定する – UIが使われ方を決める。UI大事。 • web UIが無かったら? –

    ほぼsvnと同じ使われ方をします – ゴールは「pull request文化の輸入」 – 個人で幸せになってていいのは小学生まで – チームの生産性最大化を考えよう