TFS Service の Team Project + Git をVisual Studio で使う
はじめに
TFSに分散バージョン管理が導入されるかと思ったら Git をバージョン管理に利用可能となりました。ただあまり情報がないようなのでVisual Studio で Git を使う情報がなかったのでまとめてみました。このエントリでは、TFS Service にチームプロジェクトを作成し、コミットするまでを説明してます。
環境
- Visual Studio 2012 update2
- Windows 8
- Team Foundation Service
- Visual Studio Tools for Git 0.8.5.1
TFSバージョン管理と違うところ
TFSバージョン管理だとTFSで管理しているタスクと関連付けさせる事ができますが Visual Studio Tools for Git では今のところ対応していない模様。
手順はここからになります。
TFS Service にTeam Projectを作成する
New Team Project + Git をクリックします。
プロジェクトの作成画面が出るのてプロジェクト名を入力。
あと、Version Control には Git を選択しましょう。
そして Create Project。
2分程度待つと。。できました!Navigate to Project をクリックするとプロジェクトのホームページへ移動します。
プロジェクトのホームページの CODE をクリックします。
すると 「git clone してね」的な事が書かれています。
ローカルリポジトリにコードをコミットする
Visual Studioを起動し、チームエクスプローラからTFS Serviceに接続します。
接続すると先ほど作成したプロジェクトがGitのアイコンで表示されます。
これをダブルクリックします。警告が表示されるため内容を確認の上、OKをクリックします。
Visual Studio Tools for Git をインストールしていない場合はこのメッセージが表示されるためリンクをクリックしダウンロードとインストールを行います(インストール手順は割愛)
インストール後、Visual Studio を再起動し、チームエクスプローラを開くと「Clone」が表示されます。
TFSService に作成したチームプロジェクトのローカルリポジトリを作成する事ができるので「Clone」をクリック
Cloneしたローカルリポジトリをダブルクリックすると Git をインストールするように表示される。Installをクリック。
msysgitVS.exe がダウンロードされるので実行。
Web Platform Instraller が起動して Git for Windows(x86)インストール画面が開くのでインストール。
インストール完了後、Visual Studio のチームエクスプローラでチームプロジェクトを開くと、Install~が消えます。
管理する新規プロジェクトを作成します。作成先は先程 clone したGitリポジトリのパス。「Add source control」にチェックを入れてください。
作成後、チームエクスプローラのchanges を表示すると新規作成したプロジェクトがローカルリポジトリに追加された状態になります。
このままだと 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 を作成します。
作成完了!
commit します。
次に作成した branch から master へマージします。
リモートリポジトリへコミット
Branches で、Unpublished Branches で master を右クリックします。
で、Publish
TFS Service で見ると commit されています。
以上です。
TFSの作業項目と連動するのは欲しいなぁ。これから使っていくので色々TIPSが増えていく場合は都度エントリ書いていきます!