TFS Service の Team Project + Git をVisual Studio で使う

はじめに

TFSに分散バージョン管理が導入されるかと思ったら Git をバージョン管理に利用可能となりました。ただあまり情報がないようなのでVisual Studio で Git を使う情報がなかったのでまとめてみました。このエントリでは、TFS Service にチームプロジェクトを作成し、コミットするまでを説明してます。

環境
TFSバージョン管理と違うところ

TFSバージョン管理だとTFSで管理しているタスクと関連付けさせる事ができますが Visual Studio Tools for Git では今のところ対応していない模様。

手順はここからになります。

TFS Service にTeam Projectを作成する

New Team Project + Git をクリックします。
f:id:kaji_3:20130502233043p:plain
プロジェクトの作成画面が出るのてプロジェクト名を入力。
あと、Version Control には Git を選択しましょう。
f:id:kaji_3:20130501004339p:plain

そして Create Project。

f:id:kaji_3:20130501004724p:plain

2分程度待つと。。できました!Navigate to Project をクリックするとプロジェクトのホームページへ移動します。
f:id:kaji_3:20130501004849p:plain

プロジェクトのホームページの CODE をクリックします。
すると 「git clone してね」的な事が書かれています。

f:id:kaji_3:20130502233410p:plain

ローカルリポジトリにコードをコミットする

Visual Studioを起動し、チームエクスプローラからTFS Serviceに接続します。

f:id:kaji_3:20130501010526p:plain

接続すると先ほど作成したプロジェクトがGitのアイコンで表示されます。
これをダブルクリックします。警告が表示されるため内容を確認の上、OKをクリックします。
f:id:kaji_3:20130501010731p:plain

Visual Studio Tools for Git をインストールしていない場合はこのメッセージが表示されるためリンクをクリックしダウンロードとインストールを行います(インストール手順は割愛)
f:id:kaji_3:20130501010936p:plain

インストール後、Visual Studio を再起動し、チームエクスプローラを開くと「Clone」が表示されます。

f:id:kaji_3:20130501012918p:plain

TFSService に作成したチームプロジェクトのローカルリポジトリを作成する事ができるので「Clone」をクリック
f:id:kaji_3:20130503042802p:plain
Cloneしたローカルリポジトリをダブルクリックすると Git をインストールするように表示される。Installをクリック。
f:id:kaji_3:20130501014008p:plain

msysgitVS.exe がダウンロードされるので実行。
f:id:kaji_3:20130501014248p:plain

Web Platform Instraller が起動して Git for Windows(x86)インストール画面が開くのでインストール。
f:id:kaji_3:20130501014407p:plain

インストール完了後、Visual Studio のチームエクスプローラでチームプロジェクトを開くと、Install~が消えます。
f:id:kaji_3:20130501014634p:plain

管理する新規プロジェクトを作成します。作成先は先程 clone したGitリポジトリのパス。「Add source control」にチェックを入れてください。
f:id:kaji_3:20130503043442p:plain

作成後、チームエクスプローラのchanges を表示すると新規作成したプロジェクトがローカルリポジトリに追加された状態になります。
f:id:kaji_3:20130503043646p:plain

このままだと master にcommitするため新しいブランチを作成します。

が、どうやら空っぽのリポジトリからは new branch作成できない(Create Branchがクリックできない)のでReadme.txt を作成して、commit します。コマンドの確認も兼ねてコマンドプロンプトから実行します。ローカルリポジトリコマンドプロンプトを開きます。このサンプルだとC:\Users\hogehoge\Source\Repos\MyStatusReceiver になります。

> git add ReadMe.txt
> git commit ReadMe.txt -m "first commit"

Visual Sutdio に戻ってチームエクスプローラの changeを再度開いて
Branch master▼の▼をクリックして、new Branch を作成します。
f:id:kaji_3:20130502021920p:plain
作成完了!
f:id:kaji_3:20130502022142p:plain

commit します。
f:id:kaji_3:20130503044203p:plain

次に作成した branch から master へマージします。
f:id:kaji_3:20130502022631p:plain
f:id:kaji_3:20130502022721p:plain

リモートリポジトリへコミット

Branches で、Unpublished Branches で master を右クリックします。
f:id:kaji_3:20130502022908p:plain

で、Publish
f:id:kaji_3:20130502023041p:plain

TFS Service で見ると commit されています。
f:id:kaji_3:20130502023417p:plain

以上です。

TFSの作業項目と連動するのは欲しいなぁ。これから使っていくので色々TIPSが増えていく場合は都度エントリ書いていきます!