68
Visual Studio 2015 での Git 利用 2015年10月26日(月) 14:35-15:25 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリング Microsoft MVP for Visual Studio and Development Technologies 関 満徳@fullvirtue Copyright © fullvirtue. All rights reserved.

Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

  • Upload
    -

  • View
    2.969

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 での Git 利用

2015年10月26日(月) 14:35-15:25

鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリング

Microsoft MVP for Visual Studio and Development Technologies

関 満徳@fullvirtue

Copyright © fullvirtue. All rights reserved.

Page 2: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

本日の概要本日のセッションの概要について確認していきます。

Copyright © @fullvirtue. All rights reserved. 2

Page 3: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

本日の概要(1/1)

本セッションについて(1/1)

概要

– 「Visual Studio 2015でgitはどう使うの?」「gitって何?」分散型バージョン管理システム(git)における、プルリクエスト主体のアジャイルなチケット駆動開発について、実案件での経験を踏まえてお話します。

対象者

– Visual Studio 2015 での Git 利用について知りたい方

– 分散型バージョン管理システム(git)について知りたい方

Copyright © fullvirtue. All rights reserved. 3

Visual Studio 2015 での Git 利用

Page 4: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

おことわり(1/3)

今回の資料について(1/3)

今回の資料は、以下を参考にしています。私自身のオリジナルはほとんどありませんので、ご了承ください。

– デザイナのためのGit入門

» http://www.slideshare.net/dsuket/git-16343460

– サルでもわかるGit入門

» http://www.backlog.jp/git-guide/

– 知らないと現場で困るバージョン管理システムの基礎知識

» http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

– バージョン管理とは : 集中型 vs. DVCS

» http://japan.blogs.atlassian.com/2012/11/version-control-centralized-dvcs/

Copyright © fullvirtue. All rights reserved. 4

Page 5: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

おことわり(2/3)

今回の資料について(2/3)

今回の資料は、以下を参考にしています。私自身のオリジナルはほとんどありませんので、ご了承ください。

– A successful Git branching model

» [Eng]http://nvie.com/posts/a-successful-git-branching-model/

» [日本語訳] http://keijinsonyaban.blogspot.jp/2010/10/successful-git-branching-model.html

– キャスレーの社内開発で利用するgitのブランチモデルとかPull Requestの簡単な解説とか

» http://www.casleyconsulting.co.jp/blog-engineer/git/キャスレーの社内開発で利用するgitのブランチモ/

Copyright © fullvirtue. All rights reserved. 5

Page 6: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

おことわり(3/3)

今回の資料について(3/3)

今回の資料は、以下を参考にしています。私自身のオリジナルはほとんどありませんので、ご了承ください。

– SourceTreeで始めよう! Gitへの乗り換え指南

» http://www.slideshare.net/kekyo/sourcetree-git

– Announcing Git-LFS on all VSO Git repos

» http://blogs.msdn.com/b/visualstudioalm/archive/2015/10/01/announcing-git-lfs-on-all-vso-git-repos.aspx

– Gitを大容量バイナリファイルへと拡張するGit Large File Storage

» http://www.infoq.com/jp/news/2015/04/github-large-file-storage

– Visual Studio OnlineでGit LFSを使ってみた

» http://opcdiary.net/?p=30465

Copyright © fullvirtue. All rights reserved. 6

Page 7: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

本日お話すること(1/1)

アジェンダ(1/1)

本日の概要

Visual Studio 2015 + Git で開発を始めるには

Git の考え方とポイント

まとめ

Copyright © POStudy (プロダクトオーナーシップ勉強会). All rights reserved. 7

Page 8: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

本日お話すること(1/1)

アジェンダ(1/1)

本日の概要

Visual Studio 2015 + Git で開発を始めるには

Git の考え方とポイント

まとめ

Copyright © POStudy (プロダクトオーナーシップ勉強会). All rights reserved. 8

Page 9: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

手順を交えてご紹介いたします。

・ Visual Studio 2015 + Git + Visual Studio Online

Copyright © fullvirtue. All rights reserved. 9

Page 10: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

一番最初に考えること

Git リポジトリの管理サーバーをどこにするか

候補1: Visual Studio Online

– http://visualstudioonline.com/

候補2: GitHub

– https://github.com/

候補3: Bitbucket

– https://bitbucket.org/

Copyright © fullvirtue. All rights reserved. 10

Page 11: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

一番最初に考えること

Git リポジトリの管理サーバーをどこにするか

候補1: Visual Studio Online

– http://visualstudioonline.com/

候補2: GitHub

– https://github.com/

候補3: Bitbucket

– https://bitbucket.org/

Copyright © fullvirtue. All rights reserved. 11

今日はこちらの手順を紹介します!

Page 12: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio Online の利用を開始

Visual Studio Online へアクセスして利用を開始

– http://visualstudioonline.com/

Copyright © fullvirtue. All rights reserved. 12

Page 13: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio Online 上でチームプロジェクトを作成

Copyright © fullvirtue. All rights reserved. 13

TFSUG1026Demo

Scrum

Git

チェック

Page 14: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio Online 上にチームプロジェクトが作成

Copyright © fullvirtue. All rights reserved. 14

チームプロジェクトが作成されたことを確認

Page 15: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Home 画面に移動

Copyright © fullvirtue. All rights reserved. 15

Home をクリック

Page 16: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Home 画面に移動

Copyright © fullvirtue. All rights reserved. 16

× をクリック

Page 17: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 に関連づけ

Copyright © fullvirtue. All rights reserved. 17

Open in Visual Studio をクリック

Page 18: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 に関連づけ

Copyright © fullvirtue. All rights reserved. 18

アプリケーションの移動 をクリック

Page 19: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 からチームプロジェクトを開く

Copyright © fullvirtue. All rights reserved. 19

緑色のアイコン(接続の管理)をクリック

Page 20: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 からチームプロジェクトを開く

Copyright © fullvirtue. All rights reserved. 20

Visual Studio Online の 接続 をクリック

Page 21: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 からチームプロジェクトを開く

Copyright © fullvirtue. All rights reserved. 21

接続 をクリック

チームプロジェクトにチェックをつける

Page 22: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 からチームプロジェクトを開く

Copyright © fullvirtue. All rights reserved. 22

チームプロジェクトをダブルクリック

Page 23: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 からチームプロジェクトを開く

Copyright © fullvirtue. All rights reserved. 23

このリポジトリを複製 をクリック

※GitでいうCloneの操作と同じですサーバー上にあるソースコード群を自分のパソコン上にコピーします

Page 24: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

Visual Studio 2015 からチームプロジェクトを開く

Copyright © fullvirtue. All rights reserved. 24

複製 をクリック

Page 25: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Visual Studio 2015 + Git で開発を始めるには

チームプロジェクト上で開発を開始

Copyright © fullvirtue. All rights reserved. 25

これですべての準備が完了しました!あとは開発を始めるだけです!

ソリューションの「新規作成」をクリック

Page 26: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

本日お話すること(1/1)

アジェンダ(1/1)

本日の概要

Visual Studio 2015 + Git で開発を始めるには

Git の考え方とポイント

まとめ

Copyright © POStudy (プロダクトオーナーシップ勉強会). All rights reserved. 26

Page 27: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイントGitの考え方とポイントについてご紹介いたします。

Copyright © fullvirtue. All rights reserved. 27

Page 28: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

よくあるバージョン管理の例(1/7)

ファイル名で管理

Copyright © fullvirtue. All rights reserved. 28デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 29: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

よくあるバージョン管理の例(2/7)

ファイル名で管理

Copyright © fullvirtue. All rights reserved. 29デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

どれが最新?

Page 30: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

よくあるバージョン管理の例(3/7)

共有フォルダで管理

Copyright © fullvirtue. All rights reserved. 30デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フォルダ

index.html

Page 31: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

よくあるバージョン管理の例(4/7)

共有フォルダで管理

Copyright © fullvirtue. All rights reserved. 31デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フォルダ

index.html

更新

Page 32: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

よくあるバージョン管理の例(5/7)

共有フォルダで管理

Copyright © fullvirtue. All rights reserved. 32デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フォルダ

index.html

更新 更新

Page 33: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

よくあるバージョン管理の例(6/7)

共有フォルダで管理

Copyright © fullvirtue. All rights reserved. 33デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フォルダ

index.html

更新 更新

衝突

Page 34: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

よくあるバージョン管理の例(7/7)

共有フォルダで管理

Copyright © fullvirtue. All rights reserved. 34デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

あれ、上書きしちゃった…

共有フォルダ

index.html

更新 更新

衝突

Page 35: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムとは(1/1)

ファイルに対して「誰が」「いつ」「何を変更したか」というような情報を記録

過去のある時点の状態を復元したり変更内容の差分を表示できるようにするシステム

Copyright © fullvirtue. All rights reserved. 35知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 36: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムを使うと(1/1)

すぐ前の状態に戻せる

複数人で同じファイルを更新しても大丈夫

変更履歴が観れる

リリース管理も簡単

Copyright © fullvirtue. All rights reserved. 36デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 37: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

なぜ開発の現場でバージョン管理を使うのか(1/1)

1. アジリティを高める» もし開発中にソフトウェアにバグを埋め込んでしまっても、

問題の発生する以前の状態へ簡単に戻せる

2. 素早い開発が可能に» ある環境でバグなどの問題が発生した場合には、

過去にさかのぼって変更の差分を確認することで原因を分析したり、別に同じ環境を作って同じ問題が再現するかどうか調査できる

» ソフトウェアへの影響が大きな“変更”や試験的な機能の追加を安心して行えるので、結果として素早い開発が可能になる

3. 余計な情報でコードが肥大しない» 変更内容はバージョン管理システムに記録されるので、変更前の内容を

コメントアウトしてコード中に残すようなことをする必要はない

Copyright © fullvirtue. All rights reserved. 37知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 38: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(1/9)

『集中管理方式』

– プロジェクトの単一の “中心” コピーがどこかに存在

» たいていはサーバー上であることが多い

– プログラマーはこの中心コピーに変更を “コミット”

» 単純に中央システムにその変更を記録することを意味

– 代表的な集中型バージョン管理システム

» TFVC(Team Foundation Version Control) ←TFS/VSOサポート

» CVS(Concurrent Versions System)

» SVN(Subversion)

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 38バージョン管理とは : 集中型 vs. DVCS http://japan.blogs.atlassian.com/2012/11/version-control-centralized-dvcs/

Page 39: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(2/9)

『集中管理方式』

『分散管理方式』

– プロジェクトのファイルの全バージョンを保管するための中央サーバーを必要としない

– 各開発者はレポジトリのコピーを “クローン” し、自身のハード ドライブ上にそのプロジェクトの 完全な 履歴を持つ

– コミット時、差分の保存ではなく、ファイル全体をそのまま圧縮保存

– 代表的な分散型バージョン管理システム

» Git ←TFS/VSOサポート

» Mercurial

Copyright © fullvirtue. All rights reserved. 39バージョン管理とは : 集中型 vs. DVCS http://japan.blogs.atlassian.com/2012/11/version-control-centralized-dvcs/

Page 40: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(3/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 40デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 41: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(4/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 41

編集中 編集不可

編集不可編集不可

編集中 編集中

編集中編集中

デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 42: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(5/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 42

サーバー上のリポジトリ

ローカルファイルの編集

リモートリポジトリ

ローカルファイルの編集

ローカルリポジトリ

デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 43: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(6/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 43

サーバー上のリポジトリ

チェックアウト & ファイルロック

ローカルファイルの編集

リモートリポジトリ

ローカルファイルの編集

ローカルリポジトリ

デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 44: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(7/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 44

サーバー上のリポジトリ

チェックアウト & ファイルロック

コミット & ファイルロック解除ローカルファイルの編集

リモートリポジトリ

ローカルファイルの編集

ローカルリポジトリ

デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 45: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(8/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 45

サーバー上のリポジトリ

チェックアウト & ファイルロック

コミット & ファイルロック解除ローカルファイルの編集

リモートリポジトリ

ブランチ切替

ローカルファイルの編集

ローカルリポジトリ

クローン or プル

デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 46: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(9/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 46

サーバー上のリポジトリ

チェックアウト & ファイルロック

コミット & ファイルロック解除ローカルファイルの編集

リモートリポジトリ

ブランチ切替

ローカルファイルの編集

ローカルリポジトリ

マージ or コミット プルリクエストor プッシュ

デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

クローン or プル

Page 47: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

分散管理方式のメリット(1/2)

手軽にコミットできる

オフラインでもコミット出来る

コミットが増えると履歴が増える

履歴が増えると戻すのが簡単

Copyright © fullvirtue. All rights reserved. 47デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 48: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

分散管理方式のメリット(2/2)

ブランチ・マージが便利

別バージョンを作るのが簡単

別バージョンをマージするのが簡単

Copyright © fullvirtue. All rights reserved. 48デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 49: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

何をバージョン管理するのか(1/1)

ある時点のソフトウェア・環境を構築するために必要なものすべて

– ソフトウェアのソースコード

– ビルドスクリプト

– データベースのスキーマ定義、マイグレーションの SQL、初期データ

– 環境構築用の設定ファイル・スクリプト

Copyright © fullvirtue. All rights reserved. 49知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 50: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

何をバージョン管理してはいけないのか(1/1)

バージョン管理する必要がない、共有してはいけないファイル

– ソースコードをコンパイルしてできたバイナリファイル

– 秘密鍵ファイルなどの他人に見せてはいけないもの

Copyright © fullvirtue. All rights reserved. 50知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 51: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

Gitが不得意なこと(1/1)

バイナリファイルの管理が苦手

– 遅くなる

– 差分が取れない

Copyright © fullvirtue. All rights reserved. 51デザイナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 52: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

[参考]Gitで大容量バイナリファイルを扱いたい場合 (1/1)

Git Large File Storage(Git-LFS)

– Gitは、デフォルトでは、バイナリ資源のすべてのバージョンを圧縮して保存しようとする

» 数が多い場合、これが最良な手段でないことは明らか

– Gitワークフロー内での大容量のバイナリファイル組込みの改善を目的

» オーディオサンプル

» データセット

» グラフィック

» ビデオなど

– GitリポジトリをClone後、git-lfsの各種コマンドを使って利用開始

» 参考) http://opcdiary.net/?p=30465

Copyright © fullvirtue. All rights reserved. 52Gitを大容量バイナリファイルへと拡張するGit Large File http://www.infoq.com/jp/news/2015/04/github-large-file-storage

Page 53: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチ・タグを中心としたソフトウェア開発(1/2)

ブランチとは

– 履歴の流れを分岐して記録していくためのもの

– 分岐したブランチは他のブランチの影響を受けない

– 同じリポジトリ中で複数の変更を同時に進めていくことができる

タグとは

– 履歴のある時点の情報を記録していくためのもの

– 他のタグの影響を受けない

Copyright © fullvirtue. All rights reserved. 53サルでもわかるGit入門 http://www.backlog.jp/git-guide/stepup/stepup1_1.html

Page 54: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチ・タグを中心としたソフトウェア開発(2/2)

Copyright © fullvirtue. All rights reserved. 54SourceTreeで始めよう! Gitへの乗り換え指南 http://www.slideshare.net/kekyo/sourcetree-git

• Gitのブランチは「動かせる目印」

• Gitのタグは「動かせない目印」

Page 55: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチを中心としたソフトウェア開発(1/7)

5種類のブランチを軸に構成

1. master

2. develop

3. feature

4. release

5. hotfix

Copyright © fullvirtue. All rights reserved. 55A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

Page 56: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチを中心としたソフトウェア開発(2/7)

Copyright © fullvirtue. All rights reserved. 56A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

masterhotfixreleasedevelopfeature

Page 57: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチを中心としたソフトウェア開発(3/7)

Copyright © fullvirtue. All rights reserved. 57A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

masterhotfixreleasedevelopfeature

本番環境の不具合対応

不具合対応を開発環境にも反映

不具合対応内容を本番環境に反映

本番リリース時にタグを付与

Page 58: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチを中心としたソフトウェア開発(4/7)

Copyright © fullvirtue. All rights reserved. 58A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

masterhotfixreleasedevelopfeature

リリース前確認で不具合発見し

たので対応

不具合対応を開発環境にも反

リリース内容を本番環境に反映

本番リリース時にタグを付与

Page 59: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチを中心としたソフトウェア開発(5/7)

Copyright © fullvirtue. All rights reserved. 59A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

masterhotfixreleasedevelopfeature

開発環境に反映

Featureブランチを新たに作成

Page 60: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチを中心としたソフトウェア開発(6/7)

Copyright © fullvirtue. All rights reserved. 60

ブランチがmasterに収束している例

複数の開発が並行で進んだ例

順番に開発を進めた例

Page 61: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

ブランチを中心としたソフトウェア開発(7/7)

ブランチ名に / を付けると階層構造になる

1. master

2. develop

1. develop/issue01

2. develop/issue02

3. ・・・

3. feature

4. release

1. release/20150402

2. ・・・

5. hotfix

Copyright © fullvirtue. All rights reserved. 61A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

開発用ブランチをまとめた例

リリース用ブランチをまとめた例

Page 62: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

プルリクエストのススメ(1/2)

「プッシュ」と「プルリクエスト」の違い

– プッシュ(push)

» 誰からもレビューされていないソースコードを、開発者の判断で、全員に影響があるブランチに反映

– プルリクエスト(pull request)

» 誰かしら変更内容を確認したソースコードを、権限のある役割の方の判断で、全員に影響があるブランチに反映

Copyright © fullvirtue. All rights reserved. 62

Page 63: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

プルリクエストのススメ(2/2)

Copyright © fullvirtue. All rights reserved. 63http://www.casleyconsulting.co.jp/blog-engineer/git/キャスレーの社内開発で利用するgitのブランチモ/

Page 64: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

本日お話すること(1/1)

アジェンダ(1/1)

本日の概要

Visual Studio 2015 + Git で開発を始めるには

Git の考え方とポイント

まとめ

Copyright © POStudy (プロダクトオーナーシップ勉強会). All rights reserved. 64

Page 65: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

まとめ

Copyright © fullvirtue. All rights reserved. 65

Page 66: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

バージョン管理システムの方式(2/9)

『集中管理方式』

『分散管理方式』

– プロジェクトのファイルの全バージョンを保管するための中央サーバーを必要としない

– 各開発者はレポジトリのコピーを “クローン” し、自身のハード ドライブ上にそのプロジェクトの 完全な 履歴を持つ

– コミット時、差分の保存ではなく、ファイル全体をそのまま圧縮保存

– 代表的な分散型バージョン管理システム

» Git ←TFS/VSOサポート

» Mercurial

Copyright © fullvirtue. All rights reserved. 66バージョン管理とは : 集中型 vs. DVCS http://japan.blogs.atlassian.com/2012/11/version-control-centralized-dvcs/

Page 67: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

Git の考え方とポイント

何をバージョン管理するのか(1/1)

ある時点のソフトウェア・環境を構築するために必要なものすべて

– ソフトウェアのソースコード

– ビルドスクリプト

– データベースのスキーマ定義、マイグレーションの SQL、初期データ

– 環境構築用の設定ファイル・スクリプト

Copyright © fullvirtue. All rights reserved. 67知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 68: Visual Studio 2015 での Git 利用 - 鉄人から学ぶ! Visual Studio 2015 によるテスト・リファクタリングセミナー #tfsug

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

Copyright © @fullvirtue. All rights reserved. 68

グロースエクスパートナーズ株式会社 ITアーキテクト

エンタープライズ向けのIT業界にて、企画から開発運用および新規事業立ち上げに関与。現職は、エンタープライズ向けの新規サービス立ち上げ支援ITコンサルタントおよびITアーキテクト。

これまで、顧客に価値をもたらすITサービスを提供し続けられることを目標としたワークショップ型セッションに数多く登壇。『「超初心者」専門ITスクールTECH GARDEN SCHOOL』や『グロースハックアカデミー』にてIT人材教育の講師としても活躍。アジャイル開発やスクラム、プロダクトマネジメント、Visual Studio / Microsoft Azureに関わるコミュニティの数々の主催またはコアメンバーとしても積極的に活動中。

コンタクト先 URL

Blog http://fullvirtue.com/

Twitter https://twitter.com/fullvirtue是非フォローしてください!

Facebook https://www.facebook.com/fullvirtue

Email [email protected]

資料公開場所 http://slideshare.net/fullvirtue/これまで登壇してきた資料はこちらで公開しています!是非ご覧ください!

関 満徳せき みつのり