101
Git詳解 紹介 Rimpei Ogawa 2009/6/1 - Tejimaya Kaihatsubu Benkyo-kai

20090601 Git Introduction

Embed Size (px)

Citation preview

Page 1: 20090601 Git Introduction

Git詳解紹介Rimpei Ogawa

2009/6/1 - Tejimaya Kaihatsubu Benkyo-kai

Page 2: 20090601 Git Introduction

こんにちは!

Page 3: 20090601 Git Introduction

みなさん

Page 4: 20090601 Git Introduction

毎日バージョン管理してますよね?

Page 5: 20090601 Git Introduction

本日ご紹介するの

は...

Page 6: 20090601 Git Introduction

バージョン管理システムの大本命

Page 7: 20090601 Git Introduction

ぎっと

git

Page 8: 20090601 Git Introduction

対象

Page 9: 20090601 Git Introduction

SVNはばっちりGitはさっぱりなあなた

Page 10: 20090601 Git Introduction

えーマジ

Page 11: 20090601 Git Introduction

まだSVNしか

使ってないの?

Page 12: 20090601 Git Introduction

SVNが許されるのは小学生までだよねー キャハハ ハハハハ

Page 13: 20090601 Git Introduction

というのは冗談ですが

Page 14: 20090601 Git Introduction

GitはSVNとはひと味違う

バージョン管理システム

Page 15: 20090601 Git Introduction

ゆるく紹介していきます

Page 16: 20090601 Git Introduction

目的

Page 17: 20090601 Git Introduction

gitを使う気になってもらう

Page 18: 20090601 Git Introduction

ということで詳しい操作方法や設計の話はないです

Page 19: 20090601 Git Introduction

期待してた人もしいたらごめんなさい

Page 20: 20090601 Git Introduction

では、ここから本編

Page 21: 20090601 Git Introduction

バージョン管理システムには大きく分けて

2つの種類があります

Page 22: 20090601 Git Introduction

(1)集中型

Page 23: 20090601 Git Introduction

1つのリポジトリで集中管理

Page 24: 20090601 Git Introduction

例:SVNCVS

Page 25: 20090601 Git Introduction

(2)分散型

Page 26: 20090601 Git Introduction

個々の開発者がリポジトリを持つ

Page 27: 20090601 Git Introduction

例:git

Mercurial

Page 28: 20090601 Git Introduction

gitは分散型

Page 29: 20090601 Git Introduction

分散型のメリット

Page 30: 20090601 Git Introduction

気楽にコミットできる

Page 31: 20090601 Git Introduction

ローカルリポジトリは自分の領域なので

Page 32: 20090601 Git Introduction

とっても気楽

Page 33: 20090601 Git Introduction

SVNコミットってけっこう緊張しますよね

Page 34: 20090601 Git Introduction

中央リポジトリにコミット権がなくても開発できる

Page 35: 20090601 Git Introduction

何の気兼ねもなくオレオレブランチ作り放題

Page 36: 20090601 Git Introduction

オフラインでも使える

Page 37: 20090601 Git Introduction

サーバ落ちてもサーバ遅くてもストレスなく

Page 38: 20090601 Git Introduction

コミットできますブランチ作れますマージできます

Page 39: 20090601 Git Introduction

複数リポジトリ間でマージできる

Page 40: 20090601 Git Introduction

Subversionだとできなくて困る

Page 41: 20090601 Git Introduction

でもそれって

Page 42: 20090601 Git Introduction

SVKでよくね?

Page 43: 20090601 Git Introduction

たしかに

Page 44: 20090601 Git Introduction

SVKも分散型だし

Page 45: 20090601 Git Introduction

既存のSVNリポジトリもそのまま使えるし

Page 46: 20090601 Git Introduction

コマンドもほとんどSVNと一緒だし

Page 47: 20090601 Git Introduction

最高じゃね?

Page 48: 20090601 Git Introduction

と思った方へ

Page 49: 20090601 Git Introduction

突然ですが、ニュースです

Page 50: 20090601 Git Introduction

SVK新規開発終了のお知らせ

2009/5/28

Page 51: 20090601 Git Introduction

SVK開発者のChia-liang Kaoさん曰く、

Page 52: 20090601 Git Introduction

“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

Subversionがバックエンドだと、複雑なマージとかきついっす

Page 54: 20090601 Git Introduction

“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

オープンソースコミュニティはみんなが考えてるよりもずっと早く、分散型で設計されたVCSに移ってますよ!

Page 56: 20090601 Git Introduction

以上、ニュースでした。

Page 57: 20090601 Git Introduction

さて、

Page 58: 20090601 Git Introduction

Gitやりたくなってきましたか?

Page 59: 20090601 Git Introduction

Gitの特徴

Page 60: 20090601 Git Introduction

Distributed分散型

Page 61: 20090601 Git Introduction

分散型のメリットは前述の通り

Page 62: 20090601 Git Introduction

SVKとは違い初めから分散型として設計されている

Page 63: 20090601 Git Introduction

Fastはえー

Page 64: 20090601 Git Introduction

SVNでいうところのmerge/switchが超速い

Page 65: 20090601 Git Introduction

大規模プロジェクトでも

おk

Page 66: 20090601 Git Introduction

だって、Linuxカーネル管理するために作られたん

だぜ

Page 67: 20090601 Git Introduction

Gitを採用しているプロジェクト

Page 68: 20090601 Git Introduction

GitLinux KernelPerlGnomeRuby on Rails

Page 69: 20090601 Git Introduction

AndroidWineFedoraX.orgVLCPrototype

Page 70: 20090601 Git Introduction

まとめ

Page 71: 20090601 Git Introduction

Git is a(1)distributed

(2)fastversion control system.

Page 72: 20090601 Git Introduction

第2部

Page 73: 20090601 Git Introduction

GitHubがすごい

Page 74: 20090601 Git Introduction

Gitのホスティングサイト

Page 75: 20090601 Git Introduction

SVNから引っ越したいんですけど

Page 76: 20090601 Git Introduction

はい。それ、ブラウザからできます

Page 77: 20090601 Git Introduction

他の人のリポジトリからフォークして開発したい

Page 78: 20090601 Git Introduction

はい。それ、ブラウザからできます

Page 79: 20090601 Git Introduction

自分の書いた変更を取り込んでくださいって伝えたい

Page 80: 20090601 Git Introduction

はい。それ、ブラウザからできます

Page 81: 20090601 Git Introduction

1ファイルだけなんだけど、バージョン管理したいソースってあるよね

Page 82: 20090601 Git Introduction

はい。Gistを使えばかんたんにできます

Page 83: 20090601 Git Introduction

プロジェクト管理にはTracみたいな機能は必須だよね

Page 84: 20090601 Git Introduction

はい。もちろん付いてます。wiki/ticket

Page 85: 20090601 Git Introduction

んーでも、Tracはそのまま残したいんだけど

Page 86: 20090601 Git Introduction

はい。Tracとの連携もできます

Page 87: 20090601 Git Introduction

SVNみたいに更新情報をメールで飛ばしたりできないのかな?

Page 88: 20090601 Git Introduction

はい。メール、Twitterをはじめ様々な方法で通知できます

Page 89: 20090601 Git Introduction

これだけ色々できるってことは、お高いんじゃないですか?

Page 90: 20090601 Git Introduction

いいえ。公開リポジトリならすべて無料です

Page 91: 20090601 Git Introduction

非公開でも月7$~

Page 92: 20090601 Git Introduction

今すぐアクセス!http://

github.com/

Page 93: 20090601 Git Introduction

以上、CMでした。

Page 94: 20090601 Git Introduction

GitHubを使っているプロジェクト

Page 95: 20090601 Git Introduction

Ruby on Railsrspecmerbredmine

Page 96: 20090601 Git Introduction

scriptaculousprototypePlaggerMojo

Page 97: 20090601 Git Introduction

opDiaryPluginopWebAPIPluginopWikiPluginなどなど

Page 98: 20090601 Git Introduction

まとめ

Page 99: 20090601 Git Introduction

gitをはじめるならGitHubがおすすめ

Page 100: 20090601 Git Introduction

よきgitライフを

Page 101: 20090601 Git Introduction

ご清聴ありがとうございました