スピーカー舘野祐一さん
はてなブックマークリードプログラマ
話の内容は最近のはてなの開発とはてなブックマークのリニューアルについてでした。
従業員数60名(アルバイト含む)
内エンジニア30名
インフラ8名、アプリケーション22名
京都に移転して、1年で規模が増えました。京都には京都大学や同志社大学、立命館大学などがあるのでアルバイトが急激に増えたそうです。
gitとは?
分散VCS
好きなだけレポジトリの複製
どこからでもコミット
svnと比べて高速。開発を行っているものとしてはさくさく動く。
低コストなブランチ作成。
賢いマージ。難しいマージでも行ってくれる。
SHA1によるデータ管理。
リビジョンという概念はない。
単一レポジトリ
レポジトリが中央に一つ
基本的に誰でもチェックアウト可能
コミットには権限が必要
分散
レポジトリを誰でも複製可能
Railsなどがgitに移行
githubの出現
以前は分散VCS難しそう…と考えていたそうです。
これは便利
コミットしてリモートに即反映しか怖い!。手元のものをいじるので他者に影響を与える心配がないので安心。
ブランチ作成一瞬。ブランチ作成の壁が取り払われました。
ちょくちょくコミット→安心。
仕事でもgit-svnを使うようになりました。
数年後には主流となりそう。
たくさんのコマンドを覚える必要があるので、導入コストは高いです。
分散の概念の理解
真ん中のコピーを手元に持ってきて、また真ん中に戻す、などの操作がわかりにくいです。
WindowsのGUIクライアントが無いので、デザイナー・ディレクターに使ってもらうのは酷な段階です。
というわけで、業務への導入はまだまだ先かな?
導入の理由は?
SVNレポジトリが壊れた!
まさかのレポジトリ破壊。
チェックアウト・コミットできない。
デプロイできない。
復旧できなかったのか?
片方のHDDは物理的に壊れていた。
もう一方のHDDも一部壊れていた。
特定リビジョン・特定ファイルが取り出せない。
svnadminなどで復旧を試みるも無理だった。
どうしよう?もう一度SVNを構築、gitに移転できないか?
gitで運用できるか調査しました。
結果、gitへの移行。
デプロイ、capistrano2.2でgit対応
構成の変更
svn?プロジェクトをすべて1つのレポジトリ
git?プロジェクトごとに細かく分けて運営
ブランチ
作成が一瞬でできます。
ディレクトリ変更なしにブランチを切り替えらます。
ファイルパス変更いらずです。
svnの頃は作成面倒、切り替え重い、実用的でなかった。
いかにスムーズに開発可能かが重要、この点でgitは有効です。
Developers Summit 2009の備忘録として、出席をしたセミナーを記録にとどめておきます。セミナーの写真撮影が禁止でしたので文字だけの備忘録となっています。
mizunuma 2月 16th, 2009
Posted In: Developers Summit 2009