+ All Categories
Home > Documents > Git 20100313

Git 20100313

Date post: 28-Jun-2015
Category:
Upload: taku-amano
View: 1,931 times
Download: 3 times
Share this document with a friend
Popular Tags:
46
とりあえず Git ~ Git 入門前夜~ 天野卓 @ ToI 企画
Transcript
Page 1: Git 20100313

とりあえず Git~ Git 入門前夜~

天野卓 @ ToI 企画

Page 2: Git 20100313

自己紹介

佐久市で Web アプリケーションを開発しています。

LAMP

Movable Type のプラグインをフリーソフトウェアと

して配布しています。

http://tec.toi-planning.net

GitHub でも活動しています。

http://github.com/usualoma

Page 3: Git 20100313

この発表に関する資料

以下の URL からダウンロードできます。

http://www.slideshare.net/tag/nseg

Page 4: Git 20100313

もくじ

バージョン管理システムとは

Git に至るまでの歴史

Git の特徴

Git のどこが Life Changing か

Page 5: Git 20100313

バージョン管理システムとは

Page 6: Git 20100313

過去のファイルを保存する

Page 7: Git 20100313

過去のディレクトリの状態を保存する

Page 8: Git 20100313

過去のディレクトリの状態を保存する

Page 9: Git 20100313

バージョンにメタ情報を付ける

Page 10: Git 20100313

保存したディレクトリ間の差分を知る

Page 11: Git 20100313

編集内容にメタ情報を付ける

Page 12: Git 20100313

編集内容をマージする

Page 13: Git 20100313

Git に至るまでの歴史

Page 14: Git 20100313

年表

1982: RCS

1990: CVS

2001: Subversion

2003: SVK

2005: Git, Mercurial, Bazaar(2004)

Page 15: Git 20100313

RCS

ファイル単位でバージョンを管理

vi の代りに ci と打つと管理が始まる

Page 16: Git 20100313

RCS

Page 17: Git 20100313

CVS

複数の RCS をまとめて管理

ある時点の状態にタグを付けることが可能

サーバー / クライアント形式でネットワーク越しの

共有が可能

Page 18: Git 20100313

CVS

Page 19: Git 20100313

Subversion

高性能な CVS

コミットがアトミック

ディレクトリの移動や削除をサポート

Page 20: Git 20100313

Subversion

Page 21: Git 20100313

SVK

Subversion や CSV を分散型のように使うための

ツール

SVK 単体でも利用可能

Page 22: Git 20100313

SVK

Page 23: Git 20100313

Git

Git - Fast Version Control System

Linus Torvalds が Linux のソースコードを管理する

ことをターゲットにして開発

Linux のカーネル

ソースコードの規模が大きい

更新が頻繁に発生する

Page 24: Git 20100313

Git

Page 25: Git 20100313

Git の特徴

分散型をサポート

差分ではなくてスナップショット

その他

Page 26: Git 20100313

分散型とは

どのマシンもサーバーでありクライアントでありうる

リソースはそれぞれのマシンが完全な形で持つ

1つのマシンに障害があった場合も大丈夫

リソースが手元にあるため高速に動作

Page 27: Git 20100313

集中型

Page 28: Git 20100313

分散型

Page 29: Git 20100313

分散型 ( 集中型っぽく )

Page 30: Git 20100313

分散型 ( 別の使い方 )

Page 31: Git 20100313

差分ではなくてスナップショットとは

差分 ( 履歴 ) は保存しない

コミット時点のスナップショットを取る

Page 32: Git 20100313

差分を記録

Page 33: Git 20100313

スナップショットを記録

Page 34: Git 20100313

スナップショットを記録

Page 35: Git 20100313

Git のどこが Life Changing か

Git - Fast Version Control System

準備の手間がかからない

プログラムの応答速度が速い

後から柔軟に修正できる

Page 36: Git 20100313

準備の手間がかからない

「 git init; git add .; git commit 」 するだけ

他の場所にリポジトリを用意する必要がない

Page 37: Git 20100313

プログラムの応答速度が速い (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/

Page 38: Git 20100313

プログラムの応答速度が速い (2)

一瞬で ( ローカル )ブランチが作成される

リモートサーバーへアクセスする必要がないため

ファイルをコピーする必要がないため

Page 39: Git 20100313

後から柔軟に修正できる (1)

ブランチのマージが簡単

マージアルゴリズムも賢い ( らしい )

Page 40: Git 20100313

後から柔軟に修正できる (2)

commit の修正が簡単にできる

Page 41: Git 20100313

後から柔軟に修正できる (2)

commit の修正が簡単にできる

Page 42: Git 20100313

Git のどこが Life Changing か

Git - Fast Version Control System

準備の手間がかからない

プログラムの応答速度が速い

後から柔軟に修正できる

とりあえず Git しておこう!

Page 43: Git 20100313

まとめ

Git は簡単に始められます

Git は快適です

Git は勉強にもなります

Page 44: Git 20100313

参考 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)

Page 45: Git 20100313

参考書籍

「入門 Git 」 濱野 純 (Junio C Hamano)

Page 46: Git 20100313

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


Recommended