20090601 Git Introduction
-
Upload
rimpei-ogawa -
Category
Technology
-
view
807 -
download
0
Transcript of 20090601 Git Introduction
![Page 1: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/1.jpg)
Git詳解紹介Rimpei Ogawa
2009/6/1 - Tejimaya Kaihatsubu Benkyo-kai
![Page 2: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/2.jpg)
こんにちは!
![Page 3: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/3.jpg)
みなさん
![Page 4: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/4.jpg)
毎日バージョン管理してますよね?
![Page 5: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/5.jpg)
本日ご紹介するの
は...
![Page 6: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/6.jpg)
バージョン管理システムの大本命
![Page 7: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/7.jpg)
ぎっと
git
![Page 8: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/8.jpg)
対象
![Page 9: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/9.jpg)
SVNはばっちりGitはさっぱりなあなた
![Page 10: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/10.jpg)
えーマジ
![Page 11: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/11.jpg)
まだSVNしか
使ってないの?
![Page 12: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/12.jpg)
SVNが許されるのは小学生までだよねー キャハハ ハハハハ
![Page 13: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/13.jpg)
というのは冗談ですが
![Page 14: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/14.jpg)
GitはSVNとはひと味違う
バージョン管理システム
![Page 15: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/15.jpg)
ゆるく紹介していきます
![Page 16: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/16.jpg)
目的
![Page 17: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/17.jpg)
gitを使う気になってもらう
![Page 18: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/18.jpg)
ということで詳しい操作方法や設計の話はないです
![Page 19: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/19.jpg)
期待してた人もしいたらごめんなさい
![Page 20: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/20.jpg)
では、ここから本編
![Page 21: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/21.jpg)
バージョン管理システムには大きく分けて
2つの種類があります
![Page 22: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/22.jpg)
(1)集中型
![Page 23: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/23.jpg)
1つのリポジトリで集中管理
![Page 24: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/24.jpg)
例:SVNCVS
![Page 25: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/25.jpg)
(2)分散型
![Page 26: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/26.jpg)
個々の開発者がリポジトリを持つ
![Page 27: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/27.jpg)
例:git
Mercurial
![Page 28: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/28.jpg)
gitは分散型
![Page 29: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/29.jpg)
分散型のメリット
![Page 30: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/30.jpg)
気楽にコミットできる
![Page 31: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/31.jpg)
ローカルリポジトリは自分の領域なので
![Page 32: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/32.jpg)
とっても気楽
![Page 33: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/33.jpg)
SVNコミットってけっこう緊張しますよね
![Page 34: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/34.jpg)
中央リポジトリにコミット権がなくても開発できる
![Page 35: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/35.jpg)
何の気兼ねもなくオレオレブランチ作り放題
![Page 36: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/36.jpg)
オフラインでも使える
![Page 37: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/37.jpg)
サーバ落ちてもサーバ遅くてもストレスなく
![Page 38: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/38.jpg)
コミットできますブランチ作れますマージできます
![Page 39: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/39.jpg)
複数リポジトリ間でマージできる
![Page 40: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/40.jpg)
Subversionだとできなくて困る
![Page 41: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/41.jpg)
でもそれって
![Page 42: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/42.jpg)
SVKでよくね?
![Page 43: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/43.jpg)
たしかに
![Page 44: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/44.jpg)
SVKも分散型だし
![Page 45: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/45.jpg)
既存のSVNリポジトリもそのまま使えるし
![Page 46: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/46.jpg)
コマンドもほとんどSVNと一緒だし
![Page 47: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/47.jpg)
最高じゃね?
![Page 48: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/48.jpg)
と思った方へ
![Page 49: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/49.jpg)
突然ですが、ニュースです
![Page 50: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/50.jpg)
SVK新規開発終了のお知らせ
2009/5/28
![Page 51: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/51.jpg)
SVK開発者のChia-liang Kaoさん曰く、
![Page 52: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/52.jpg)
“using Subversion's filesystem as SVK's backend has become one of SVK's primary technical issues, as we found it to be inadequate as a storage backend for more complicated merges, which require a lot of traversal.”http://lists.bestpractical.com/pipermail/svk-devel/2009-May/001224.html
![Page 53: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/53.jpg)
Subversionがバックエンドだと、複雑なマージとかきついっす
![Page 54: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/54.jpg)
“The open source community has moved on from the Subversion model a lot sooner than many people thought, to a variety of version control systems designed from scratch with distributed development in mind.”http://lists.bestpractical.com/pipermail/svk-devel/2009-May/001224.html
![Page 55: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/55.jpg)
オープンソースコミュニティはみんなが考えてるよりもずっと早く、分散型で設計されたVCSに移ってますよ!
![Page 56: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/56.jpg)
以上、ニュースでした。
![Page 57: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/57.jpg)
さて、
![Page 58: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/58.jpg)
Gitやりたくなってきましたか?
![Page 59: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/59.jpg)
Gitの特徴
![Page 60: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/60.jpg)
Distributed分散型
![Page 61: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/61.jpg)
分散型のメリットは前述の通り
![Page 62: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/62.jpg)
SVKとは違い初めから分散型として設計されている
![Page 63: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/63.jpg)
Fastはえー
![Page 64: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/64.jpg)
SVNでいうところのmerge/switchが超速い
![Page 65: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/65.jpg)
大規模プロジェクトでも
おk
![Page 66: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/66.jpg)
だって、Linuxカーネル管理するために作られたん
だぜ
![Page 67: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/67.jpg)
Gitを採用しているプロジェクト
![Page 68: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/68.jpg)
GitLinux KernelPerlGnomeRuby on Rails
![Page 69: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/69.jpg)
AndroidWineFedoraX.orgVLCPrototype
![Page 70: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/70.jpg)
まとめ
![Page 71: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/71.jpg)
Git is a(1)distributed
(2)fastversion control system.
![Page 72: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/72.jpg)
第2部
![Page 73: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/73.jpg)
GitHubがすごい
![Page 74: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/74.jpg)
Gitのホスティングサイト
![Page 75: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/75.jpg)
SVNから引っ越したいんですけど
![Page 76: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/76.jpg)
はい。それ、ブラウザからできます
![Page 77: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/77.jpg)
他の人のリポジトリからフォークして開発したい
![Page 78: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/78.jpg)
はい。それ、ブラウザからできます
![Page 79: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/79.jpg)
自分の書いた変更を取り込んでくださいって伝えたい
![Page 80: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/80.jpg)
はい。それ、ブラウザからできます
![Page 81: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/81.jpg)
1ファイルだけなんだけど、バージョン管理したいソースってあるよね
![Page 82: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/82.jpg)
はい。Gistを使えばかんたんにできます
![Page 83: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/83.jpg)
プロジェクト管理にはTracみたいな機能は必須だよね
![Page 84: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/84.jpg)
はい。もちろん付いてます。wiki/ticket
![Page 85: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/85.jpg)
んーでも、Tracはそのまま残したいんだけど
![Page 86: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/86.jpg)
はい。Tracとの連携もできます
![Page 87: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/87.jpg)
SVNみたいに更新情報をメールで飛ばしたりできないのかな?
![Page 88: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/88.jpg)
はい。メール、Twitterをはじめ様々な方法で通知できます
![Page 89: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/89.jpg)
これだけ色々できるってことは、お高いんじゃないですか?
![Page 90: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/90.jpg)
いいえ。公開リポジトリならすべて無料です
![Page 91: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/91.jpg)
非公開でも月7$~
![Page 93: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/93.jpg)
以上、CMでした。
![Page 94: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/94.jpg)
GitHubを使っているプロジェクト
![Page 95: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/95.jpg)
Ruby on Railsrspecmerbredmine
![Page 96: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/96.jpg)
scriptaculousprototypePlaggerMojo
![Page 97: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/97.jpg)
opDiaryPluginopWebAPIPluginopWikiPluginなどなど
![Page 98: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/98.jpg)
まとめ
![Page 99: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/99.jpg)
gitをはじめるならGitHubがおすすめ
![Page 100: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/100.jpg)
よきgitライフを
![Page 101: 20090601 Git Introduction](https://reader034.fdocuments.us/reader034/viewer/2022052621/55858609d8b42ab2148b4e57/html5/thumbnails/101.jpg)
ご清聴ありがとうございました