SlideShare a Scribd company logo
15 分でわかる 分散バージョン管理システム git Tomohiro MITSUMUNE Kakaku.com,Inc.
自己紹介
 
http://blood-genome.com/d/92008/92612/926595522695/
はじめに
タイトルは釣りです
ごめん なさい
Agenda git って何? バージョン管理システムについて git の処理の流れ
git って何 ?
git =  「ぎっと」 ※  「じっと」ではありません Linus Torvalds が Linux カーネル開発のバージョン管理ソフトウェアとして開発 今のメインメンテナは日本人です(浜野さん)
分散リポジトリ型の バージョン管理システム ユーザごとに 自分のリポジトリを持つスタイル
バージョン管理システムとは?
Wikipedia http://tinyurl.com/2ydpvs
もう少し わかりやすく言うと
管理システム ( リポジトリ ) から ファイルを預かって作業する仕組み ( 預かったファイル :  ワーキングコピー ) リポジトリのタイプは 2 種類 集中リポジトリ型 分散リポジトリ型
集中リポジトリ型  (cvs, subversion) リポジトリ ワーキングコピー
分散リポジトリ型 (git, Mercurial) リポジトリ ワーキング コピー
分散リポジトリのイイところ 自分だけの作業記録が残せる= 歴史を刻む ※  集中型ではコミット権が無い人は歴史が残らない ネットワーク外でも作業 OK 自分だけの記録を持てるので DirtyHack も OK
分散リポジトリのイマイチなところ 発散しないように Merge する作業が発生 仕様上、複数に枝分かれする仕様であるので 運用側にもレベルが要求される ※  全体を取りまとめる人 (contributor) が必要 リビジョン番号が分かり辛くなる ※  branch 単位で考えた方がよい
git の処理の流れ
clone clone 既存の git リポジトリをコピー ※  コピー元と全く同じものが複製される
add, commit 現在の状態に変更を加えるたびに履歴をとる 新規ファイルを追加 既存ファイルの編集・削除 コミットごとに 40 桁の 16 進数の ID を割り当て ※  ID は大局的にユニーク
c9a60e7a08c2cce5b46c7e1d22ea85f54e7ecab8 b83f0c39ade35772bde64bb318b3c739e7d5e31d 512f0f8354a692a205c876bccc1993651ef700d1 Unique ID
ステージングエリア (Index) 最新のコミット (HEAD) と ワーキングコピー (WP) の間に Index と呼ばれるバッファレイヤーが存在 WP : ごちゃごちゃと作業するエリア Index :  WP で行った作業を記録していくエリア(チェックポイントみたいなもの) HEAD:  外から見えるエリア
Index のメリット Dirty なコード (typo 、テストコードなど ) を コミット外にすることができる HEAD には無用な更新履歴が 入らないのでクリーン 失敗の無い完璧なプログラマーを演じれる
言葉だけだとよくわからないので 図で解説します
HEAD Index Working Copy
HEAD Index Working Copy Edit
HEAD Index Working Copy add
HEAD^ Index Working Copy HEAD commit
HEAD^ Index Working Copy HEAD Edit
HEAD^ Index Working Copy HEAD add
HEAD^^ Index Working Copy HEAD^ HEAD commit
branch 1 つのリポジトリ内に複数のブランチを作成可 安定バージョンと開発バージョンの分離 良い結果が得られれば安定にマージ 結果が悪ければそのまま破棄
安定バージョン 開発バージョン
pull, push 他のリポジトリの更新を 自分のリポジトリにマージ pull:  他のリポジトリを持ってくる push:  自分の更新を他のリポジトリに送信
pull
Merge
push
以上、処理の流れでした
とりあえず git に触れてみたい人
github git のホスティングサービス http://github.com/ リポジトリのホスティング 使いやすい Web インターフェイス Ruby on Rails  製
 
github で開発されてる OSS Ruby on Rails prototype.js script.aculo.us Rspec Capistrano
 
ご清聴ありがとうございました

More Related Content

PDF
Git勉強会1回目
PPTX
Lt debian 20190526
PPTX
Git, Github超入門
PPT
biosを知ろう
PDF
Tortoise hgのすすめ
PDF
subversion hacks (create a commit template)
PDF
はじめてのTeam Foundation ServerとVisual Studio Online
PDF
Git flowの活用事例
Git勉強会1回目
Lt debian 20190526
Git, Github超入門
biosを知ろう
Tortoise hgのすすめ
subversion hacks (create a commit template)
はじめてのTeam Foundation ServerとVisual Studio Online
Git flowの活用事例

Similar to 15分でわかる分散バージョン管理システムgit (20)

PPTX
Git勉強会資料
PDF
バージョン管理Git
PPTX
Git勉強会 #01
PDF
Git 10min
PDF
Version Control System Tutorial バージョン管理システムチュートリアル
PDF
Git -分散バージョン管理システム-
PPTX
git入門(講義っぽく)
KEY
一人でもはじめるGitでバージョン管理
PPTX
超ざっくりとGitについて学ぶ
PDF
バージョン管理とGit
PDF
Git&GitHub入門
PDF
バージョン管理システムチュートリアル
KEY
20120324 git training
ODP
20130608 git-0
PPT
Gitのススメ
PPTX
2015年2月23日 wbtoyama 勉強会 はじめようgit
PDF
バージョン管理
PDF
Git勉強会 vol1
PPTX
Git勉強会
PPTX
Gitのいろは
Git勉強会資料
バージョン管理Git
Git勉強会 #01
Git 10min
Version Control System Tutorial バージョン管理システムチュートリアル
Git -分散バージョン管理システム-
git入門(講義っぽく)
一人でもはじめるGitでバージョン管理
超ざっくりとGitについて学ぶ
バージョン管理とGit
Git&GitHub入門
バージョン管理システムチュートリアル
20120324 git training
20130608 git-0
Gitのススメ
2015年2月23日 wbtoyama 勉強会 はじめようgit
バージョン管理
Git勉強会 vol1
Git勉強会
Gitのいろは
Ad

More from Tomohiro MITSUMUNE (10)

PDF
B2B2Cなヘルスケアサービスの作り方
PDF
はじめてのSymfony2
PDF
勉強会のすすめ
PDF
symfonyイントロダクション
PDF
jQueryチュートリアル
PDF
symfonyイントロダクション
PDF
About Haystack
PDF
macbookについてみんなが誤解していること
PPT
Linuxにおける開発環境
PPT
DOM Scripting ことはじめ
B2B2Cなヘルスケアサービスの作り方
はじめてのSymfony2
勉強会のすすめ
symfonyイントロダクション
jQueryチュートリアル
symfonyイントロダクション
About Haystack
macbookについてみんなが誤解していること
Linuxにおける開発環境
DOM Scripting ことはじめ
Ad

15分でわかる分散バージョン管理システムgit