20130608 git-0

41
Git 入門 <htmlday> in Tokushima Presented by (@ka_)

Upload: kasu-unko

Post on 14-Jul-2015

914 views

Category:

Documents


1 download

TRANSCRIPT

Git 入門<htmlday> in Tokushima

Presented by か (@ka_)

バージョン管理とは

● 開発物のバージョンを管理すること

● バージョン管理ツールは

Version Control System (VCS) とも呼ばれる

VCS で得られるメリット

● 変更履歴を残せる ( 基本 )

– 昔に戻れる

– 気楽に新機能を試せる

● 開発の進行をシステム化出来る

● 共同開発が容易になる

● コンフリクト ( 競合 ) 解消の手間を最小化

Git とは

● バージョン管理ツールの 1 つ

● リポジトリ分散型という特徴を持つ

● 広く世界中で使われている ( 出典不要 )

● マージ ( 後で説明します ) が速い

Git で得られるメリット● GitHub, Bitbucket が使える

● OSS に最適

– Pull Request という最高の開発フロー

● Heroku が使える

● TravisCI が使える

● Jenkins が使える

● その他諸々

GitHub についての余談

● とある TED のセッション

– クレイ・シャーキー 「インターネットが (いつの日か) 政治を変える」

Git 以外の話

● 分散型の VCS は Git 以外にもある

– メジャーどころ● Mercurial● Bazaar

● 他にも結構ある

● Git が多数派

● 正直 Mercurial も魅力的

環境構築● Windows

– msysgit + TortoiseGit

● Mac– SourceTree

  msysgit のセットアップ

● ダウンロード

● インストール

– .NET Framework 3.5 以上が必要かも

● 再起動が必要かも

ダウンロード 1

ダウンロード 1

クリック

ダウンロード 2

ダウンロード 2

クリック

インストール 1

インストール 2

インストール 3

インストール 4

● Git Bash here にチェック

インストール 5

インストール 6

● Use Git Bash only を選択

インストール 7

● Checkout Windows style, … を選択

TortoiseGit のセットアップ

● ダウンロード

● インストール

– 初期設定

ダウンロード

ダウンロード

どちらかクリック

インストール 1

インストール 2

インストール 3

● OpenSSH, Git default SSH Client を選択

インストール 4

インストール 5

SourceTree のセットアップ

● ダウンロード

● インストール

● かんたん!!

ダウンロード

ダウンロード

クリック

インストール 1

● 名前とメールアドレスを入力

インストール 2

用語説明

● コミット

● リポジトリ

● ブランチ

● チェックアウト

● マージ

コミット

● ( 語弊はあるが ) 1 つのバージョンのこと

● これを重ねていくことが開発の進行

全てコミット

リポジトリ

● コミットの集合

● 歴史そのもの

● これのコピーを容易に作れるのが分散型

リポジトリ

この絵をリビジョングラフと言ったりする

ブランチ

● 枝分かれしていくコミットの流れのこと

● これを作ることを「ブランチを切る」と言う

ブランチ

これもブランチ

チェックアウト

● ブランチを切り替えること

● コミットをどのブランチに重ねていくか

マージ

● ブランチを合流させること

この形は non fast forward merge と言う

ここにも 1 つのコミットが出来る

Fast Forward とは?

● ブランチは大体以下のような作り方になる

● この場合「合流」しなくても良い

● 元のブランチを Fast Forward ( 早送り )

どう使い分けるか ( 例 )

● Non Fast Forward

– 複数のコミットをひとまとめにしたい

● Fast Forward

– コミットが 1 つしか無い

– ブランチの情報が失われても良い

– リビジョングラフを綺麗な一本の線にしたい

● ↑ これは微妙な動機