gitを使いこなしてみよう!

87
Gitを使いこなして みよう! @Posaune

Upload: hiroshi-maekawa

Post on 23-Jun-2015

1.882 views

Category:

Technology


4 download

DESCRIPTION

2014/04/16に行われた、VSハッカソン特別編『今日から始めるGit & GitHub入門』での発表資料です。

TRANSCRIPT

Page 1: Gitを使いこなしてみよう!

Gitを使いこなしてみよう!

@Posaune

Page 2: Gitを使いこなしてみよう!

自己紹介

•まえかわ ひろし a.k.a @Posaune

•#京アジャ

•#検これ

•MS MVP for Visual Studio ALM

•(検閲削除)

Page 3: Gitを使いこなしてみよう!

今日話さないこと

•Gitの細かいコマンドの使い方•「逆引きGit入門」•「Gitポケットリファレンス」

•HookScript•使えたら超便利

•GitHubもろもろ•moririringさんので完璧のはず•Github Pagesも便利よ。

•Github的なるものの代替手段•Gitlabo•gitbucket

Page 4: Gitを使いこなしてみよう!

学習リソース(オフライン)

Page 5: Gitを使いこなしてみよう!

学習リソース(オンライン)

•Lean Git Branching•http://pcottle.github.io/learnGitBranching/

Page 6: Gitを使いこなしてみよう!

さて、Gitでできること理解してもらえましたか??

Page 7: Gitを使いこなしてみよう!

Git使ってみようと思った人?

Page 8: Gitを使いこなしてみよう!

僕がお話しすること

Page 9: Gitを使いこなしてみよう!

GitをもっとGitらしく活用するための「きっかけ」

Page 10: Gitを使いこなしてみよう!

キーワードは・・・

Page 11: Gitを使いこなしてみよう!

歴 史 改 変

Page 12: Gitを使いこなしてみよう!

歴史改変ツール Git

Page 13: Gitを使いこなしてみよう!

「そんな『歴史改変』なんて大げさな・・・」

Page 14: Gitを使いこなしてみよう!
Page 15: Gitを使いこなしてみよう!

なにそれこわい

Page 16: Gitを使いこなしてみよう!

大丈夫、こわくないよ!

Page 17: Gitを使いこなしてみよう!

(わかって使えば)

Page 18: Gitを使いこなしてみよう!

Git =

Page 19: Gitを使いこなしてみよう!

Git = ChangeSetの集合

Page 20: Gitを使いこなしてみよう!

ChangeSet-追加-削除-変更

Page 21: Gitを使いこなしてみよう!

Git =自由に操作できるChangeSetの集合

Page 22: Gitを使いこなしてみよう!

差替え

あるチェンジセットを別のものに書き換える

Page 23: Gitを使いこなしてみよう!

挿入

あるチェンジセットを間に差し込む

Page 24: Gitを使いこなしてみよう!

削除

あるチェンジセットを消し去る

Page 25: Gitを使いこなしてみよう!

入替

チェンジセットの順番を入れ替える

Page 26: Gitを使いこなしてみよう!

結合

複数のチェンジセットを統合する

Page 27: Gitを使いこなしてみよう!

・・・・・・

Page 28: Gitを使いこなしてみよう!

それで、何が嬉しいの??

Page 29: Gitを使いこなしてみよう!

便利な場面を考えてみよう

Page 30: Gitを使いこなしてみよう!

例えば、こんなとき。

Page 31: Gitを使いこなしてみよう!

うおー、Typoった…

あああ、追加もれがぁ…

やっべ、個人的なメモまでコミットしちゃったよ…

Page 32: Gitを使いこなしてみよう!

差替え

うおー、Typoった…

あああ、追加もれがぁ…

やっべ、個人的なメモまでコミットしちゃったよ…

git commit –amendgit rebase

修正しとこ。

Page 33: Gitを使いこなしてみよう!

続いて、こういうときも

Page 34: Gitを使いこなしてみよう!

このコードをベースに開発してよ

拝承

ごめん、渡したコード古かった

ファッ!?

Page 35: Gitを使いこなしてみよう!

しゃーない、ここに追加のコミットおいて、rebase、と。

挿入 git checkoutgit addgit rebase

Page 36: Gitを使いこなしてみよう!

・・・ちょっとはイメージ湧きました?

Page 37: Gitを使いこなしてみよう!

さて、他にも使いどころはたくさんあるんですが、

Page 38: Gitを使いこなしてみよう!

ちょっと脱線。

Page 39: Gitを使いこなしてみよう!

歴史改変、といえば・・・?

Page 40: Gitを使いこなしてみよう!
Page 41: Gitを使いこなしてみよう!

平 行 世 界

Page 42: Gitを使いこなしてみよう!

Git =平行世界を持ったChangeSetの集合

Page 43: Gitを使いこなしてみよう!

平行世界歴史改変ツール Git

Page 44: Gitを使いこなしてみよう!

平行世界:ブランチって?

Page 45: Gitを使いこなしてみよう!

平行世界

Page 46: Gitを使いこなしてみよう!

平行世界2つのChangeSetが適用された世界

1つのChangeSetが適用された世界

Page 47: Gitを使いこなしてみよう!

ブランチ:ChangeSetの分岐に過ぎない

Page 48: Gitを使いこなしてみよう!

ブランチに特有のコマンド

Page 49: Gitを使いこなしてみよう!

分岐

あるチェンジセット以降に平行世界を作る

git branchgit checkout -b

Page 50: Gitを使いこなしてみよう!

合流

ある平行世界の変更を取り込む

git merge

Page 51: Gitを使いこなしてみよう!

差替え

平行世界の出発点を差替える

git rebase

Page 52: Gitを使いこなしてみよう!

差替え

平行世界の出発点を差替える

Page 53: Gitを使いこなしてみよう!

あとはほとんど一緒!

Page 54: Gitを使いこなしてみよう!

ブランチの使いどころ

Page 55: Gitを使いこなしてみよう!

どういうときにブランチ=平行世界を使う?

Page 56: Gitを使いこなしてみよう!

例えば・・・

Page 57: Gitを使いこなしてみよう!

よーし、新しい機能実装だー!

んんん・・・。手詰まり。

別のやろっと♪

Page 58: Gitを使いこなしてみよう!

ベース 新機能1 新機能1

新機能2 新機能2

なんかカオス

Page 59: Gitを使いこなしてみよう!

ベース

新機能1 新機能1

新機能2 新機能2

平行世界で対処しよう!

Page 60: Gitを使いこなしてみよう!

ベース

新機能1 新機能1

新機能2 新機能2

平行世界で対処しよう!

Page 61: Gitを使いこなしてみよう!

ベース

新機能1 新機能1

新機能2 新機能2

平行世界で対処しよう!

トピックブランチ

Page 62: Gitを使いこなしてみよう!

他にも・・・

Page 63: Gitを使いこなしてみよう!

よし、新機能開発だ!

拝承

既存機能でバグ出たぞゴルァ

ファッ!?

Page 64: Gitを使いこなしてみよう!

ベース 新機能 新機能

バグ修正 バグ修正

目的が混ざる・・・

Page 65: Gitを使いこなしてみよう!

新機能 新機能

バグ修正 バグ修正

平行世界で対処しよう!

ベース

Page 66: Gitを使いこなしてみよう!

新機能 新機能

バグ修正 バグ修正

平行世界で対処しよう!

ベース

Page 67: Gitを使いこなしてみよう!

新機能 新機能

バグ修正 バグ修正

平行世界で対処しよう!

ベース

Hotfixブランチ

Page 68: Gitを使いこなしてみよう!

まとめると・・・

Page 69: Gitを使いこなしてみよう!

ベース

新機能1 新機能1新機能2 新機能2

平行世界で対処しよう!

バグ修正 バグ修正Hotfixブランチ

トピックブランチ

Page 70: Gitを使いこなしてみよう!

ベース

新機能1 新機能1新機能2 新機能2

平行世界で対処しよう!

バグ修正 バグ修正Hotfixブランチ

リリースブランチ

トピックブランチ

Page 71: Gitを使いこなしてみよう!

ベース

新機能1 新機能1新機能2 新機能2

平行世界で対処しよう!

バグ修正 バグ修正Hotfixブランチ

リリースブランチ

トピックブランチ

開発ブランチ

Page 72: Gitを使いこなしてみよう!

参考: git-flow

Page 73: Gitを使いこなしてみよう!
Page 74: Gitを使いこなしてみよう!

まぁここまでいかなくても。

Page 75: Gitを使いこなしてみよう!

結論:やりやすいようにやろう

Page 76: Gitを使いこなしてみよう!

歴史改変しちゃダメなとき

Page 77: Gitを使いこなしてみよう!
Page 78: Gitを使いこなしてみよう!

まとめ(ない)

Page 79: Gitを使いこなしてみよう!

Gitは「らしく」使わないといまいちメリットわからない

Page 80: Gitを使いこなしてみよう!

「らしく」使うの結構大変

Page 81: Gitを使いこなしてみよう!

キーワード

Page 82: Gitを使いこなしてみよう!

歴史改変

Page 83: Gitを使いこなしてみよう!

平行世界(ブランチ)

Page 84: Gitを使いこなしてみよう!

とにかくコマンドをいっぱい打って慣れること!

Page 85: Gitを使いこなしてみよう!

まずは、トピックブランチから

Page 86: Gitを使いこなしてみよう!

ベース

新機能1 新機能1

新機能2 新機能2

トピックブランチ

Page 87: Gitを使いこなしてみよう!

Enjoy Branching!