Git -分散バージョン管理システム-

20
Git 2009/03/12 Python勉強会 - 分散バージョン管理システム -

description

 

Transcript of Git -分散バージョン管理システム-

Page 1: Git -分散バージョン管理システム-

Git

2009/03/12 Python勉強会

- 分散バージョン管理システム -

Page 2: Git -分散バージョン管理システム-

アジェンダ

バージョン管理システム?

Git?

ワークフロー

まとめ

Page 3: Git -分散バージョン管理システム-

バージョン管理システム?

Page 4: Git -分散バージョン管理システム-

バージョン管理システム?

設計書やソースコードを管理

それぞれに「バージョン」を付与する

現在の主流タイプは「集中型」

Page 5: Git -分散バージョン管理システム-

バージョン管理システム?

設計書やソースコードを管理

それぞれに「バージョン」を付与する

現在の主流タイプは「集中型」

Page 6: Git -分散バージョン管理システム-

バージョン管理システムの種類

集中型

分散型

Page 7: Git -分散バージョン管理システム-

集中型バージョン管理システム

サーバ上に中央リポジトリを設置

開発者は中央リポジトリ経由で開発

チェックアウト, コミット

Subversion, CVS

図: 分散バージョン管理Git/Mercurial/Bazaar徹底比較 (1/5) - @IThttp://www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html

Page 8: Git -分散バージョン管理システム-

集中型の問題点

中央リポジトリを各開発者で共有

開発者Aがコミット

しかし内容にバグがある

各開発者にバグ入りソースが共有される

/(^o^)\

Page 9: Git -分散バージョン管理システム-

分散型バージョン管理システム

開発者がローカルリポジトリを持つ

コミットなどはそこにする

作業後、中央リポジトリとマージ

Git, Mercurial

図: 分散バージョン管理Git/Mercurial/Bazaar徹底比較 (1/5) - @IThttp://www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html

Page 10: Git -分散バージョン管理システム-

分散型のメリット

コミットしても他開発者に影響しない

好き勝手にコミットできる

ネットワーク環境がなくても作業ができる

コミット権のないプロジェクトへのHack

プロジェクトの完全な履歴も手に入る

Page 11: Git -分散バージョン管理システム-

Git?

Page 12: Git -分散バージョン管理システム-

Git?

分散型バージョン管理システム

「ギット」

リーナス・トーバルズ (Linuxの人) が開発

曰く、「CVSはダメ。俺がもっといいの作る」

YouTube: ”Tech Talk: Linus Torvalds on git”

Page 13: Git -分散バージョン管理システム-

Gitを利用したプロジェクトLinux カーネル

Perl 5

Samba

Ruby on Rails

Merb

Wine

Android

Page 14: Git -分散バージョン管理システム-

ワークフロー

Page 15: Git -分散バージョン管理システム-

リモートリポジトリのコピー

$ git clone /path/to/ [プロジェクト名]

ファイル編集, 追加

$ git add [ファイル名]

コミット (ローカルリポジトリに)

$ git commit -m ‘commit!!’

ワークフロー (1/2)

Page 16: Git -分散バージョン管理システム-

プロジェクトの変更履歴を見る

$ git log

リモートリポジトリのマージ

$ git pull /path/to/ [プロジェクト名]

リモートリポジトリへのコミット

$ git push /path/to/ [プロジェクト名]

ワークフロー (2/2)

Page 17: Git -分散バージョン管理システム-

まとめ

Page 18: Git -分散バージョン管理システム-

まとめ

Gitは分散型バージョン管理システム

ローカルリポジトリでコミットし放題

プロジェクトをcloneして俺俺プロジェクト

今からSubversionするならGitの方がいいよ!

Page 19: Git -分散バージョン管理システム-

参考サイト

Git - Fast Version Control System

http://git-scm.com/

バージョン管理システム - Wikipedia

http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0

Git - Wikipedia

http://ja.wikipedia.org/wiki/Git

分散バージョン管理Git/Mercurial/Bazaar徹底比較 (1/5) - @IT

http://www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html

かWiki - Git/分散レポジトリって何が嬉しいの

http://b4.x0.com/hiki/?Git%2F%CA%AC%BB%B6%A5%EC%A5%DD%A5%B8%A5%C8%A5%EA%A4%C3%A4%C6%B2%BF%A4%AC%B4%F2%A4%B7%A4%A4%A4%CE

はじめてのgit | IDEA*IDEA

http://www.ideaxidea.com/archives/2008/04/git.html

git チュートリアル (バージョン 1.5.1 以降用)

http://www8.atwiki.jp/git_jp/pub/Documentation.ja/tutorial.html

Page 20: Git -分散バージョン管理システム-

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