SlideShare a Scribd company logo
とりあえず Git
~ Git 入門前夜~




 天野卓 @ ToI 企画
自己紹介
佐久市で Web アプリケーションを開発しています。
  LAMP
 Movable Type のプラグインをフリーソフトウェアと
して配布しています。
http://tec.toi-planning.net
GitHub でも活動しています。
http://github.com/usualoma
この発表に関する資料
以下の URL からダウンロードできます。
http://www.slideshare.net/tag/nseg
もくじ
バージョン管理システムとは
Git に至るまでの歴史
Git の特徴
Git のどこが Life Changing か
バージョン管理システムとは
過去のファイルを保存する
過去のディレクトリの状態を保存する
過去のディレクトリの状態を保存する
バージョンにメタ情報を付ける
保存したディレクトリ間の差分を知る
編集内容にメタ情報を付ける
編集内容をマージする
Git に至るまでの歴史
年表
1982: RCS
1990: CVS
2001: Subversion
2003: SVK
2005: Git, Mercurial, Bazaar(2004)
RCS
ファイル単位でバージョンを管理
vi の代りに ci と打つと管理が始まる
RCS
CVS
複数の RCS をまとめて管理
ある時点の状態にタグを付けることが可能
 サーバー / クライアント形式でネットワーク越しの
共有が可能
CVS
Subversion
高性能な CVS
 コミットがアトミック
 ディレクトリの移動や削除をサポート
Subversion
SVK
 Subversion や CSV を分散型のように使うための
ツール
SVK 単体でも利用可能
SVK
Git
Git - Fast Version Control System
 Linus Torvalds が Linux のソースコードを管理する
ことをターゲットにして開発
Linux のカーネル
  ソースコードの規模が大きい
  更新が頻繁に発生する
Git
Git の特徴
分散型をサポート
差分ではなくてスナップショット
その他
分散型とは
どのマシンもサーバーでありクライアントでありうる
リソースはそれぞれのマシンが完全な形で持つ
 1つのマシンに障害があった場合も大丈夫
 リソースが手元にあるため高速に動作
集中型
分散型
分散型 ( 集中型っぽく )
分散型 ( 別の使い方 )
差分ではなくてスナップショットとは
差分 ( 履歴 ) は保存しない
コミット時点のスナップショットを取る
差分を記録
スナップショットを記録
スナップショットを記録
Git のどこが Life Changing か
Git - Fast Version Control System
  準備の手間がかからない
  プログラムの応答速度が速い
  後から柔軟に修正できる
準備の手間がかからない
「 git init; git add .; git commit 」 するだけ
他の場所にリポジトリを用意する必要がない
プログラムの応答速度が速い (1)
ネットワークの遅延がないため応答が速い
 変更履歴の表示 (svn log, git log)
   A: 9 秒 , B: 1 秒 , Git 0.1 秒以下
 差分の表示 (svn diff, git diff)
   A: 32 秒 , B: 3 秒 , Git 0.1 秒以下
 ブランチの移動 (svn switch, git checkout)
   A: 10 秒 , B: 2 秒 , Git 0.1 秒以下


   A: svn co http://synergy2.svn.sourceforge.net/svnroot/synergy2/trunk
   B: svn co http://svn.sourceforge.jp/svnroot/ttssh2/trunk
   Git:git svn clone -T=trunk http://svn.sourceforge.jp/svnroot/ttssh2/
プログラムの応答速度が速い (2)
一瞬で ( ローカル ) ブランチが作成される
 リモートサーバーへアクセスする必要がないため
 ファイルをコピーする必要がないため
後から柔軟に修正できる (1)
ブランチのマージが簡単
マージアルゴリズムも賢い ( らしい )
後から柔軟に修正できる (2)
commit の修正が簡単にできる
後から柔軟に修正できる (2)
commit の修正が簡単にできる
Git のどこが Life Changing か
Git - Fast Version Control System
  準備の手間がかからない
  プログラムの応答速度が速い
  後から柔軟に修正できる


   とりあえず Git しておこう!
まとめ
Git は簡単に始められます
Git は快適です
Git は勉強にもなります
参考 URL
 http://git-scm.com/
 http://progit.org/book/ja/
 http://www.ep.sci.hokudai.ac.jp/~epnetfan/za
gaku/2009/0925/pub/
 http://ja.wikipedia.org/wiki/Git
 http://en.wikipedia.org/wiki/Git_(software)
参考書籍
「入門 Git 」 濱野 純 (Junio C Hamano)
ご静聴ありがとうございました。

More Related Content

PPTX
8つの操作ではじめるGit
DelfinoAzul
 
PDF
Git地図
yoshiaki iwanaga
 
PDF
【社内輪読会】Github実践入門2章
Akira Torii
 
PDF
git ~start PullRequest~
Souichirou Andou
 
PDF
Shizudev git hub宿題
Tadahiro Ishisaka
 
PDF
GitBucketPlugin@2014忘年度会
Kiyotaka Kunihira
 
PDF
git-svn
将 高野
 
PDF
Git lev 3 -おひとりさまでブランチを-
Kentarou Kurashige
 
8つの操作ではじめるGit
DelfinoAzul
 
Git地図
yoshiaki iwanaga
 
【社内輪読会】Github実践入門2章
Akira Torii
 
git ~start PullRequest~
Souichirou Andou
 
Shizudev git hub宿題
Tadahiro Ishisaka
 
GitBucketPlugin@2014忘年度会
Kiyotaka Kunihira
 
git-svn
将 高野
 
Git lev 3 -おひとりさまでブランチを-
Kentarou Kurashige
 

What's hot (20)

PPTX
Git社内勉強会資料
Kenji Takei
 
PDF
Git lev 4 -みんなでGit-
Kentarou Kurashige
 
PPTX
Gitの勉強 紹介編-
Kentarou Kurashige
 
PDF
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
Taisuke Inoue
 
PPTX
第1回Git勉強会
kunimiya
 
PDF
Gitの設定
Kentarou Kurashige
 
PDF
ブログを Octopress 2 + GitHub Pages から Jekyll 3 + AMP + Netlify に移行した話
Kazuhiro Nishiyama
 
PDF
Pro Git 第2版はじめました
harupong
 
PDF
Git 初心者講座 by forkwell
sinsoku listy
 
PDF
Git lev 1-おひとりさま用-
Kentarou Kurashige
 
PDF
GitHubにおける開発フローについてのお話
Sota Sugiura
 
PDF
Git -分散バージョン管理システム-
Koji Shinba
 
PPTX
Gitの基本コマンド
晋 小沼
 
PDF
Git flow
Takami Aoyama
 
PPTX
gitを1から学ぼう!
Hideyuki SASAKURA
 
PPTX
Stylez GitLab勉強会 第1回
Tetsurou Yano
 
PDF
GitLab Prometheus
Shingo Kitayama
 
PDF
猫にはわからないGit講座
Yusei Yamanaka
 
KEY
日本androidの会 中国支部 29回勉強会 github
Tomohiko Himura
 
PDF
Bitbucket and git
Ryo Katsumata
 
Git社内勉強会資料
Kenji Takei
 
Git lev 4 -みんなでGit-
Kentarou Kurashige
 
Gitの勉強 紹介編-
Kentarou Kurashige
 
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
Taisuke Inoue
 
第1回Git勉強会
kunimiya
 
Gitの設定
Kentarou Kurashige
 
ブログを Octopress 2 + GitHub Pages から Jekyll 3 + AMP + Netlify に移行した話
Kazuhiro Nishiyama
 
Pro Git 第2版はじめました
harupong
 
Git 初心者講座 by forkwell
sinsoku listy
 
Git lev 1-おひとりさま用-
Kentarou Kurashige
 
GitHubにおける開発フローについてのお話
Sota Sugiura
 
Git -分散バージョン管理システム-
Koji Shinba
 
Gitの基本コマンド
晋 小沼
 
Git flow
Takami Aoyama
 
gitを1から学ぼう!
Hideyuki SASAKURA
 
Stylez GitLab勉強会 第1回
Tetsurou Yano
 
GitLab Prometheus
Shingo Kitayama
 
猫にはわからないGit講座
Yusei Yamanaka
 
日本androidの会 中国支部 29回勉強会 github
Tomohiko Himura
 
Bitbucket and git
Ryo Katsumata
 
Ad

Similar to Git 20100313 (20)

PDF
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
 
PDF
Git&GitHub入門
hideaki honda
 
PPT
Gitの紹介
Shoot Morii
 
PPTX
2018 07-18 git-hub講座
Takahito Sueda
 
PPTX
Git/GitHub
Nariaki Tateiwa
 
PPTX
Git講習会
galluda
 
PDF
@s_ssk13さん向けGitHub入門
Takashi Imagire
 
PDF
ゆるふわっGit入門
Keisuke Oohata
 
PDF
Gitプレゼンテーション
Masaru Ookawa
 
PDF
Version Control System Tutorial バージョン管理システムチュートリアル
Computational Materials Science Initiative
 
PDF
15分でわかるGit入門
to_ueda
 
PPTX
GitHubワークショップ
Hiroaki Murayama
 
PDF
XPages開発におけるGit/GitHubの利用
賢次 海老原
 
PDF
Git_GitHub 入門者向けスライド.pdf
Yoshiki Tanaka
 
PDF
Git 初心者のための GitHub Pages
Takenori Nakagawa
 
PPTX
Github第4章
Yuto Suzuki
 
PDF
バージョン管理とGit
sinsoku listy
 
PDF
git-followup @明石高専2E
Sanae Yamashita
 
PDF
Github入門2014
Akihiko Shirai
 
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
 
Git&GitHub入門
hideaki honda
 
Gitの紹介
Shoot Morii
 
2018 07-18 git-hub講座
Takahito Sueda
 
Git/GitHub
Nariaki Tateiwa
 
Git講習会
galluda
 
@s_ssk13さん向けGitHub入門
Takashi Imagire
 
ゆるふわっGit入門
Keisuke Oohata
 
Gitプレゼンテーション
Masaru Ookawa
 
Version Control System Tutorial バージョン管理システムチュートリアル
Computational Materials Science Initiative
 
15分でわかるGit入門
to_ueda
 
GitHubワークショップ
Hiroaki Murayama
 
XPages開発におけるGit/GitHubの利用
賢次 海老原
 
Git_GitHub 入門者向けスライド.pdf
Yoshiki Tanaka
 
Git 初心者のための GitHub Pages
Takenori Nakagawa
 
Github第4章
Yuto Suzuki
 
バージョン管理とGit
sinsoku listy
 
git-followup @明石高専2E
Sanae Yamashita
 
Github入門2014
Akihiko Shirai
 
Ad

More from Taku AMANO (12)

PDF
未設定のドメインでも ELB 経由で proxy.pac を使って https で接続する方法
Taku AMANO
 
PDF
Movable Type as a Playground
Taku AMANO
 
PDF
The New Rich Text Editor
Taku AMANO
 
PDF
File API: Writer & Directories and System
Taku AMANO
 
PDF
CSS Design and Programming
Taku AMANO
 
PDF
Movable Type in the cloud
Taku AMANO
 
PDF
Git 20100724
Taku AMANO
 
PDF
About NSEG Vol.5
Taku AMANO
 
PDF
HTML5-20100626
Taku AMANO
 
PDF
Self Introduction 20100211
Taku AMANO
 
PDF
MT LT 20100205
Taku AMANO
 
PDF
MT LT 20091209
Taku AMANO
 
未設定のドメインでも ELB 経由で proxy.pac を使って https で接続する方法
Taku AMANO
 
Movable Type as a Playground
Taku AMANO
 
The New Rich Text Editor
Taku AMANO
 
File API: Writer & Directories and System
Taku AMANO
 
CSS Design and Programming
Taku AMANO
 
Movable Type in the cloud
Taku AMANO
 
Git 20100724
Taku AMANO
 
About NSEG Vol.5
Taku AMANO
 
HTML5-20100626
Taku AMANO
 
Self Introduction 20100211
Taku AMANO
 
MT LT 20100205
Taku AMANO
 
MT LT 20091209
Taku AMANO
 

Git 20100313