129
TDD Boot Camp 福岡2日目 bleis-tift March 20, 2011

TDD Boot Camp福岡2日目

Embed Size (px)

DESCRIPTION

TDD Boot Camp福岡の2日目の発表資料です。

Citation preview

Page 1: TDD Boot Camp福岡2日目

TDD Boot Camp福岡2日目

bleis-tift

March 20, 2011

Page 2: TDD Boot Camp福岡2日目
Page 3: TDD Boot Camp福岡2日目

はじめに

Page 4: TDD Boot Camp福岡2日目

そのまえに

この資料は LATEXを使って書かれています画像はスクリーンショットや写真以外 SVG

何が嬉しいのって?そりゃGitで管理できること、ですかね

Page 5: TDD Boot Camp福岡2日目

そのまえに

この資料は LATEXを使って書かれています

画像はスクリーンショットや写真以外 SVG

何が嬉しいのって?そりゃGitで管理できること、ですかね

Page 6: TDD Boot Camp福岡2日目

そのまえに

この資料は LATEXを使って書かれています画像はスクリーンショットや写真以外 SVG

何が嬉しいのって?そりゃGitで管理できること、ですかね

Page 7: TDD Boot Camp福岡2日目

そのまえに

この資料は LATEXを使って書かれています画像はスクリーンショットや写真以外 SVG

何が嬉しいのって?そりゃGitで管理できること、ですかね

Page 8: TDD Boot Camp福岡2日目
Page 9: TDD Boot Camp福岡2日目

はじめに

なんでTDDBCでGit?

→Git(DVCS)とTDDの相性が非常に良いから

ちなみに、昨日バージョン管理システムを使っていたペアっていますか?

Page 10: TDD Boot Camp福岡2日目

はじめに

なんでTDDBCでGit?→Git(DVCS)とTDDの相性が非常に良いから

ちなみに、昨日バージョン管理システムを使っていたペアっていますか?

Page 11: TDD Boot Camp福岡2日目

はじめに

なんでTDDBCでGit?→Git(DVCS)とTDDの相性が非常に良いから

ちなみに、昨日バージョン管理システムを使っていたペアっていますか?

Page 12: TDD Boot Camp福岡2日目

今日話すこと

TDDとの出会い、Gitとの出会いTDD Boot Camp歴DVCS/GitについてGitを使ったTDDの流れ

Page 13: TDD Boot Camp福岡2日目

今日話すこと

TDDとの出会い、Gitとの出会いTDD Boot Camp歴DVCS/GitについてGitを使ったTDDの流れ

Page 14: TDD Boot Camp福岡2日目

自分の中のTDDの基礎を固めてくれた本 3冊

Page 15: TDD Boot Camp福岡2日目

高専3年

内容はすでに古い今風に書き直されないだろうか・・・

Page 16: TDD Boot Camp福岡2日目

高専4年

今も色あせない素敵な本初版と第二版で表紙は変わったけど中身はほぼ同じ

Page 17: TDD Boot Camp福岡2日目

社会人2年目

本家迷ったらとりあえず従っておく

Page 18: TDD Boot Camp福岡2日目

共通点

メソッドベースのテストよりも、シナリオベースのテストに焦点を当てている

Page 19: TDD Boot Camp福岡2日目

当時使っていたVCS

CVSや SVNやVSS

→ 1チケット 1コミット→コミットよりも小さい粒度はエディタの「元に戻す」機能でカバー→カバーできずに死ぬ

Page 20: TDD Boot Camp福岡2日目

当時使っていたVCS

CVSや SVNやVSS→ 1チケット 1コミット

→コミットよりも小さい粒度はエディタの「元に戻す」機能でカバー→カバーできずに死ぬ

Page 21: TDD Boot Camp福岡2日目

当時使っていたVCS

CVSや SVNやVSS→ 1チケット 1コミット→コミットよりも小さい粒度はエディタの「元に戻す」機能でカバー

→カバーできずに死ぬ

Page 22: TDD Boot Camp福岡2日目

当時使っていたVCS

CVSや SVNやVSS→ 1チケット 1コミット→コミットよりも小さい粒度はエディタの「元に戻す」機能でカバー→カバーできずに死ぬ

Page 23: TDD Boot Camp福岡2日目

不満と疑問

コミットによってTDDのリズムが崩されるコミットよりも小さい粒度の作業をやり直すのが面倒1チケット 1コミットは適切なのか?

Page 24: TDD Boot Camp福岡2日目

Gitとの出会い

2009年9月

Page 25: TDD Boot Camp福岡2日目

Gitとの出会い

PM「今回開発拠点が分散してるから分散バージョン管理システムとかいうの使うことにしたから」

Page 26: TDD Boot Camp福岡2日目

Gitとの出会い

PM「選定しといて」

Page 27: TDD Boot Camp福岡2日目

Gitとの出会い

俺「えっ」

Page 28: TDD Boot Camp福岡2日目

Gitとの出会い

候補:svk、Git、Mercurial

Page 29: TDD Boot Camp福岡2日目

Gitとの出会い

とりあえず本も 2冊出ているし、Git使ってみようえ、ちょっ、はええぇぇぇ!入門Gitと入門 git速攻購入BetterSVNとしてGitを使い始める1チケット 1トピックブランチがいいと思い始める

Page 30: TDD Boot Camp福岡2日目

Gitとの出会い

とりあえず本も 2冊出ているし、Git使ってみよう

え、ちょっ、はええぇぇぇ!入門Gitと入門 git速攻購入BetterSVNとしてGitを使い始める1チケット 1トピックブランチがいいと思い始める

Page 31: TDD Boot Camp福岡2日目

Gitとの出会い

とりあえず本も 2冊出ているし、Git使ってみようえ、ちょっ、はええぇぇぇ!

入門Gitと入門 git速攻購入BetterSVNとしてGitを使い始める1チケット 1トピックブランチがいいと思い始める

Page 32: TDD Boot Camp福岡2日目

Gitとの出会い

とりあえず本も 2冊出ているし、Git使ってみようえ、ちょっ、はええぇぇぇ!入門Gitと入門 git速攻購入

BetterSVNとしてGitを使い始める1チケット 1トピックブランチがいいと思い始める

Page 33: TDD Boot Camp福岡2日目

Gitとの出会い

とりあえず本も 2冊出ているし、Git使ってみようえ、ちょっ、はええぇぇぇ!入門Gitと入門 git速攻購入BetterSVNとしてGitを使い始める

1チケット 1トピックブランチがいいと思い始める

Page 34: TDD Boot Camp福岡2日目

Gitとの出会い

とりあえず本も 2冊出ているし、Git使ってみようえ、ちょっ、はええぇぇぇ!入門Gitと入門 git速攻購入BetterSVNとしてGitを使い始める1チケット 1トピックブランチがいいと思い始める

Page 35: TDD Boot Camp福岡2日目

ターニングポイント

Page 36: TDD Boot Camp福岡2日目

2009/10/11名古屋Ruby会議01

Page 37: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?1チケット 1トピックブランチでいいんでしょうか?などなど

その時見せてもらったコミットグラフに衝撃を受ける

Page 38: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う

色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?1チケット 1トピックブランチでいいんでしょうか?などなど

その時見せてもらったコミットグラフに衝撃を受ける

Page 39: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?1チケット 1トピックブランチでいいんでしょうか?などなど

その時見せてもらったコミットグラフに衝撃を受ける

Page 40: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?

1チケット 1トピックブランチでいいんでしょうか?などなど

その時見せてもらったコミットグラフに衝撃を受ける

Page 41: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?1チケット 1トピックブランチでいいんでしょうか?

などなど

その時見せてもらったコミットグラフに衝撃を受ける

Page 42: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?1チケット 1トピックブランチでいいんでしょうか?などなど

その時見せてもらったコミットグラフに衝撃を受ける

Page 43: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?1チケット 1トピックブランチでいいんでしょうか?などなど

その時見せてもらったコミットグラフに衝撃を受ける

Page 44: TDD Boot Camp福岡2日目

名古屋Ruby会議01

Page 45: TDD Boot Camp福岡2日目

名古屋Ruby会議01

和田さんと初めて会う色々問い詰める(ぉ

1チケット 1コミットってどうなんですか?1チケット 1トピックブランチでいいんでしょうか?などなど

その時見せてもらったコミットグラフに衝撃を受ける

もうGitしか!

Page 46: TDD Boot Camp福岡2日目

Gitにはまる

Gitのソースコードを読み始めるGitのソースコードをいじり始める

→色々と理解が深まり今に至る

Page 47: TDD Boot Camp福岡2日目

Gitにはまる

Gitのソースコードを読み始める

Gitのソースコードをいじり始める

→色々と理解が深まり今に至る

Page 48: TDD Boot Camp福岡2日目

Gitにはまる

Gitのソースコードを読み始めるGitのソースコードをいじり始める

→色々と理解が深まり今に至る

Page 49: TDD Boot Camp福岡2日目

Gitにはまる

Gitのソースコードを読み始めるGitのソースコードをいじり始める

→色々と理解が深まり今に至る

Page 50: TDD Boot Camp福岡2日目

今日話すこと

TDDとの出会い、Gitとの出会いTDD Boot Camp歴DVCS/GitについてGitを使ったTDDの流れ

Page 51: TDD Boot Camp福岡2日目

TDD Boot Camp(2009/12/19)

納品日と重なり行けなかった・・・参加した a-hisameさんに話を聞く楽しそう!次あるなら何が何でも行ってやる!!

Page 52: TDD Boot Camp福岡2日目

TDD Boot Camp(2009/12/19)

納品日と重なり行けなかった・・・

参加した a-hisameさんに話を聞く楽しそう!次あるなら何が何でも行ってやる!!

Page 53: TDD Boot Camp福岡2日目

TDD Boot Camp(2009/12/19)

納品日と重なり行けなかった・・・参加した a-hisameさんに話を聞く

楽しそう!次あるなら何が何でも行ってやる!!

Page 54: TDD Boot Camp福岡2日目

TDD Boot Camp(2009/12/19)

納品日と重なり行けなかった・・・参加した a-hisameさんに話を聞く楽しそう!次あるなら何が何でも行ってやる!!

Page 55: TDD Boot Camp福岡2日目

TDD Boot Camp北陸(2010/3/13-14)

参加!GitとTDDとペアプロの組み合わせを初めてやった今のスタイルはこの時からのものです名古屋でも是非やりたい!

Page 56: TDD Boot Camp福岡2日目

TDD Boot Camp北陸(2010/3/13-14)

参加!

GitとTDDとペアプロの組み合わせを初めてやった今のスタイルはこの時からのものです名古屋でも是非やりたい!

Page 57: TDD Boot Camp福岡2日目

TDD Boot Camp北陸(2010/3/13-14)

参加!GitとTDDとペアプロの組み合わせを初めてやった

今のスタイルはこの時からのものです名古屋でも是非やりたい!

Page 58: TDD Boot Camp福岡2日目

TDD Boot Camp北陸(2010/3/13-14)

参加!GitとTDDとペアプロの組み合わせを初めてやった今のスタイルはこの時からのものです

名古屋でも是非やりたい!

Page 59: TDD Boot Camp福岡2日目

TDD Boot Camp北陸(2010/3/13-14)

参加!GitとTDDとペアプロの組み合わせを初めてやった今のスタイルはこの時からのものです名古屋でも是非やりたい!

Page 60: TDD Boot Camp福岡2日目

TDD Boot Camp名古屋(2010/7/10-11)

開催!色々なペア、色々な言語のやり方を見ることができたGitやMercurial使ってたペアもちらほら

Page 61: TDD Boot Camp福岡2日目

TDD Boot Camp名古屋(2010/7/10-11)

開催!

色々なペア、色々な言語のやり方を見ることができたGitやMercurial使ってたペアもちらほら

Page 62: TDD Boot Camp福岡2日目

TDD Boot Camp名古屋(2010/7/10-11)

開催!色々なペア、色々な言語のやり方を見ることができた

GitやMercurial使ってたペアもちらほら

Page 63: TDD Boot Camp福岡2日目

TDD Boot Camp名古屋(2010/7/10-11)

開催!色々なペア、色々な言語のやり方を見ることができたGitやMercurial使ってたペアもちらほら

Page 64: TDD Boot Camp福岡2日目

TDD Boot Camp福岡

開催中!仕様変更通達するの楽しいです色々あってここでしゃべっています

Page 65: TDD Boot Camp福岡2日目

TDD Boot Camp福岡

開催中!

仕様変更通達するの楽しいです色々あってここでしゃべっています

Page 66: TDD Boot Camp福岡2日目

TDD Boot Camp福岡

開催中!仕様変更通達するの楽しいです

色々あってここでしゃべっています

Page 67: TDD Boot Camp福岡2日目

TDD Boot Camp福岡

開催中!仕様変更通達するの楽しいです色々あってここでしゃべっています

Page 68: TDD Boot Camp福岡2日目

今日話すこと

TDDとの出会い、Gitとの出会いTDD Boot Camp歴DVCS/GitについてGitを使ったTDDの流れ

Page 69: TDD Boot Camp福岡2日目

問題

マージで競合が起こらなかった場合、マージは成功したと言えますか?

Page 70: TDD Boot Camp福岡2日目

デモ

Page 71: TDD Boot Camp福岡2日目

マージによるコードの破壊

このように、競合が起こらなかったにも関わらずコードが壊れる場合がある

バージョン管理テスティング自動化

三本柱!

Page 72: TDD Boot Camp福岡2日目

マージによるコードの破壊

このように、競合が起こらなかったにも関わらずコードが壊れる場合がある

バージョン管理

テスティング自動化

三本柱!

Page 73: TDD Boot Camp福岡2日目

マージによるコードの破壊

このように、競合が起こらなかったにも関わらずコードが壊れる場合がある

バージョン管理テスティング

自動化

三本柱!

Page 74: TDD Boot Camp福岡2日目

マージによるコードの破壊

このように、競合が起こらなかったにも関わらずコードが壊れる場合がある

バージョン管理テスティング自動化

三本柱!

Page 75: TDD Boot Camp福岡2日目

マージによるコードの破壊

このように、競合が起こらなかったにも関わらずコードが壊れる場合がある

バージョン管理テスティング自動化

三本柱!

Page 76: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?

エディタのヒストリ機能は操作に対する履歴バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?

コミットをあまり細かくできないビルドを壊すようなコミットはもってのほか開発者ごとにブランチを切る?

Page 77: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?

エディタのヒストリ機能は操作に対する履歴バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?

コミットをあまり細かくできないビルドを壊すようなコミットはもってのほか開発者ごとにブランチを切る?

Page 78: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?エディタのヒストリ機能は操作に対する履歴

バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?

コミットをあまり細かくできないビルドを壊すようなコミットはもってのほか開発者ごとにブランチを切る?

Page 79: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?エディタのヒストリ機能は操作に対する履歴バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?

コミットをあまり細かくできないビルドを壊すようなコミットはもってのほか開発者ごとにブランチを切る?

Page 80: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?エディタのヒストリ機能は操作に対する履歴バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?

コミットをあまり細かくできないビルドを壊すようなコミットはもってのほか開発者ごとにブランチを切る?

Page 81: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?エディタのヒストリ機能は操作に対する履歴バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?コミットをあまり細かくできない

ビルドを壊すようなコミットはもってのほか開発者ごとにブランチを切る?

Page 82: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?エディタのヒストリ機能は操作に対する履歴バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?コミットをあまり細かくできないビルドを壊すようなコミットはもってのほか

開発者ごとにブランチを切る?

Page 83: TDD Boot Camp福岡2日目

DVCSを使う利点

エディタのヒストリ機能ではだめなの?エディタのヒストリ機能は操作に対する履歴バージョン管理システムは意味を持ったまとまりに対する履歴

集中管理型ではだめなの?コミットをあまり細かくできないビルドを壊すようなコミットはもってのほか開発者ごとにブランチを切る?

Page 84: TDD Boot Camp福岡2日目

Gitとは

分散バージョン管理システムのひとつLinuxのカーネル用として開発開始高機能かつ高速

Page 85: TDD Boot Camp福岡2日目

Gitとは

分散バージョン管理システムのひとつ

Linuxのカーネル用として開発開始高機能かつ高速

Page 86: TDD Boot Camp福岡2日目

Gitとは

分散バージョン管理システムのひとつLinuxのカーネル用として開発開始

高機能かつ高速

Page 87: TDD Boot Camp福岡2日目

Gitとは

分散バージョン管理システムのひとつLinuxのカーネル用として開発開始高機能かつ高速

Page 88: TDD Boot Camp福岡2日目

今からやること

Better SVNとしてのGit

ひとり or ペアプロ(もちろんTDD)で必要な最小限のコマンドリモートリポジトリは扱いません

Page 89: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 90: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 91: TDD Boot Camp福岡2日目

git init

Gitのリポジトリを作るコマンド。

.

カレントディレクトリにリポジトリを作成

.

.

.

git init

.

指定ディレクトリにリポジトリを作成

.

.

.

git init hoge

Page 92: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 93: TDD Boot Camp福岡2日目

git status

リポジトリの状態を表示するコマンド。

.

状態確認

.

.

.

git status

Page 94: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 95: TDD Boot Camp福岡2日目

git add

未登録のファイルをGitに登録するコマンド。

.

新規ファイル hogeを登録

.

.

.

touch hogegit add .

Page 96: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 97: TDD Boot Camp福岡2日目

git commit

コミットするコマンド。

.

変更のあったものをすべてコミット

.

.

.

git commit -a

Page 98: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 99: TDD Boot Camp福岡2日目

gitk

コミットグラフの確認用ウィンドウ。

.

gitk

.

.

.

gitk --all &

何はなくともとりあえず立ち上げておく。

Page 100: TDD Boot Camp福岡2日目

gitk

コミットグラフの確認用ウィンドウ。

.

gitk

.

.

.

gitk --all &

何はなくともとりあえず立ち上げておく。

Page 101: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 102: TDD Boot Camp福岡2日目

git checkout

ブランチを切り替えるコマンド。

.

ブランチを作成して切り替え

.

.

.

git checkout -b id/553

.

普通の切り替え

.

.

.

git checkout master

Page 103: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 104: TDD Boot Camp福岡2日目

git merge

ブランチをマージするコマンド。

.

id/553をmasterにマージ

.

.

.

git checkout mastergit merge id/553

Page 105: TDD Boot Camp福岡2日目

最低限必要なコマンド

git init

git status

git add

git commit

gitk

git checkout

git merge

git now(非標準)

Page 106: TDD Boot Camp福岡2日目

git now

「とりあえず」コミットしておくコマンド。神速さん発案、川西さん実装の非標準コマンド。

.

なう!

.

.

.

git now

.

きちんとしたコミットを作る

.

.

.

git now --rebase

Page 107: TDD Boot Camp福岡2日目

今日話すこと

TDDとの出会い、Gitとの出会いTDD Boot Camp歴DVCS/GitについてGitを使ったTDDの流れ

Page 108: TDD Boot Camp福岡2日目

Gitを使ったTDDの流れ

.

..

1 作業用にブランチを切る

.

.

.

2 保存したいと思ったら git now

.

.

.

3 戻りたくなったら gitkで「ブランチをここにリセットする」

git resetというコマンドが裏で動く.

.

.

4 作業が終わったらmasterにmerge

Page 109: TDD Boot Camp福岡2日目

Gitを使ったTDDの流れ

.

..

1 作業用にブランチを切る

.

.

.

2 保存したいと思ったら git now

.

.

.

3 戻りたくなったら gitkで「ブランチをここにリセットする」

git resetというコマンドが裏で動く.

.

.

4 作業が終わったらmasterにmerge

Page 110: TDD Boot Camp福岡2日目

Gitを使ったTDDの流れ

.

..

1 作業用にブランチを切る

.

.

.

2 保存したいと思ったら git now

.

.

.

3 戻りたくなったら gitkで「ブランチをここにリセットする」

git resetというコマンドが裏で動く.

.

.

4 作業が終わったらmasterにmerge

Page 111: TDD Boot Camp福岡2日目

Gitを使ったTDDの流れ

.

..

1 作業用にブランチを切る

.

.

.

2 保存したいと思ったら git now

.

.

.

3 戻りたくなったら gitkで「ブランチをここにリセットする」

git resetというコマンドが裏で動く

.

.

.

4 作業が終わったらmasterにmerge

Page 112: TDD Boot Camp福岡2日目

Gitを使ったTDDの流れ

.

..

1 作業用にブランチを切る

.

.

.

2 保存したいと思ったら git now

.

.

.

3 戻りたくなったら gitkで「ブランチをここにリセットする」

git resetというコマンドが裏で動く

.

.

.

4 作業が終わったらmasterにmerge

Page 113: TDD Boot Camp福岡2日目

Gitを使ったTDDの流れ

.

..

1 作業用にブランチを切る

.

.

.

2 保存したいと思ったら git now

.

.

.

3 戻りたくなったら gitkで「ブランチをここにリセットする」

git resetというコマンドが裏で動く

.

.

.

4 作業が終わったらmasterにmerge

Page 114: TDD Boot Camp福岡2日目

後からブランチを作る

今やっている作業をいったん中断して、ほかの作業をやりたい。

.

コマンド

.

.

.

git nowgit checkout -b ブランチ名 master作業git checkout mastergit merge ブランチ名

Page 115: TDD Boot Camp福岡2日目

後からブランチを作る

今やっている作業をいったん中断して、ほかの作業をやりたい。

.

コマンド

.

.

.

git nowgit checkout -b ブランチ名 master作業git checkout mastergit merge ブランチ名

Page 116: TDD Boot Camp福岡2日目

その先へ

Gitをある程度使っている方向け

gitkではなく、コマンドを使うブランチのマージに rebaseを使うITS/BTSと連携させる

Page 117: TDD Boot Camp福岡2日目

その先へ

Gitをある程度使っている方向けgitkではなく、コマンドを使う

ブランチのマージに rebaseを使うITS/BTSと連携させる

Page 118: TDD Boot Camp福岡2日目

その先へ

Gitをある程度使っている方向けgitkではなく、コマンドを使うブランチのマージに rebaseを使う

ITS/BTSと連携させる

Page 119: TDD Boot Camp福岡2日目

その先へ

Gitをある程度使っている方向けgitkではなく、コマンドを使うブランチのマージに rebaseを使うITS/BTSと連携させる

Page 120: TDD Boot Camp福岡2日目

おまけ事例紹介

Page 121: TDD Boot Camp福岡2日目

弊社開発環境

コードはGitで管理更新用のリポジトリと取得用のリポジトリが別HudsonでCI(まだ Jenkinsにしていない)ビルドが通らない変更は rejectされるfast forward mergeができなければ rejectされる

Page 122: TDD Boot Camp福岡2日目

弊社開発環境

コードはGitで管理

更新用のリポジトリと取得用のリポジトリが別HudsonでCI(まだ Jenkinsにしていない)ビルドが通らない変更は rejectされるfast forward mergeができなければ rejectされる

Page 123: TDD Boot Camp福岡2日目

弊社開発環境

コードはGitで管理更新用のリポジトリと取得用のリポジトリが別

HudsonでCI(まだ Jenkinsにしていない)ビルドが通らない変更は rejectされるfast forward mergeができなければ rejectされる

Page 124: TDD Boot Camp福岡2日目

弊社開発環境

コードはGitで管理更新用のリポジトリと取得用のリポジトリが別HudsonでCI(まだ Jenkinsにしていない)

ビルドが通らない変更は rejectされるfast forward mergeができなければ rejectされる

Page 125: TDD Boot Camp福岡2日目

弊社開発環境

コードはGitで管理更新用のリポジトリと取得用のリポジトリが別HudsonでCI(まだ Jenkinsにしていない)ビルドが通らない変更は rejectされる

fast forward mergeができなければ rejectされる

Page 126: TDD Boot Camp福岡2日目

弊社開発環境

コードはGitで管理更新用のリポジトリと取得用のリポジトリが別HudsonでCI(まだ Jenkinsにしていない)ビルドが通らない変更は rejectされるfast forward mergeができなければ rejectされる

Page 127: TDD Boot Camp福岡2日目
Page 128: TDD Boot Camp福岡2日目

メリット

ビルドを壊してしまってもほかの開発者に迷惑をかけないリポジトリから取得したものは最低限の動作確認がされている

Page 129: TDD Boot Camp福岡2日目

デメリット

構築が大変変更が大変

ただまぁ、一度構築してしまえばかなり快適