Date post: | 28-Jun-2015 |
Category: |
Documents |
Upload: | taku-amano |
View: | 1,931 times |
Download: | 3 times |
とりあえず 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)
ご静聴ありがとうございました。