第32回php勉強会 lt 極めてない! git
TRANSCRIPT
第32回PHP勉強会極めてない!
Git
自己紹介
高橋邦彦
kunit
Maple
PHPFramework
Fight!
Konstrukt でエントリ
さて
Git
なんて読む?
じっと
ぎっと
じーあいてぃー
GIF問題再燃
SABELはなんて(ry
バージョン管理システム比較
CVS
ロックをして管理するRCSの発展系
逆に言えば
これより前のものは
他の人が更新中のファイルは変更不可
オープンソース開発には
CVSは必要だった
が
ファイルの更新履歴しか管理できない
しかもファイル名を変更すると履歴が切れる
ファイル毎にバージョン管理
Subversion
ディレクトリも管理できるように
なった
ファイル名変更も大丈夫
commit単位でのリビジョン管理
Tracというキラーアプリも
登場
もうSubversionでいいんじゃね?
Linus 曰く “Subversionは 史上最も無意味な プロジェクト”
Linus?
Gitの歴史
最初
Linuxカーネルの開発は
tar + patch
Linusにメールして
取り込んでもらう
破綻
商用ソフトBitKeeper を
採用
OSS開発なら無料でいいよ
しかし決裂
なら自分で作るよ
Git は Linus がLinux カーネル開発用に作った
今のメンテナーは
Junio C Hamano
実は日本人
浜野純さん(昔の仕事仲間...)
特徴
(1)
分散
CVSSubversion
リポジトリ
ワーキングコピー ワーキングコピー
commit
checkout checkout
Git
リポジトリ
リポジトリ リポジトリpull/push
pull/push pull/push
commit
ワーキングコピー
ついでに
SVK
リポジトリ
mirror/sync
push
ミラー作業用ブランチcopy/pull
ワーキングコピー
checkout/update commit
(2)
ブランチきり放題
というか
ブランチを切りまくることが前提
マージのロジックに力を入れてる
おかしくなったリビジョンを見つけるためのコマンドがある
(bisect)
なぜ今Git
GitHub
Ruby on Rails で実装された
gitリポジトリのホスティングサービス
Ruby関連のプロダクトがこぞって移行
もちろん Ruby on Rails も
移行
そして達人プログラマーも
今日話した内容は
ほぼここからです
今日の内容を忘れて
バックナンバーを買ってください
ご静聴ありがとうございました