kkamegawa's weblog

Visual Studio,TFS,ALM関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Visual Studio Team ServicesでGitのpush,pull requestを行う(7日目)

Gitの詳細な説明ではありませんが、Visual StudioとVSTSを使って、Gitのプルリクエストおよび、マージまでの流れを解説します。

Visual Studioからプッシュ

f:id:kkamegawa:20161206204342p:plain

ソリューションをソース管理に追加します。この操作でgit add . と同等の操作になります。

f:id:kkamegawa:20161206204344p:plain

追加後、コミットを選択すると、まず、コミット前の一時領域であるステージングに入ります。ここは用語ちょっと変ですが、まぁこういうものだと思ってください。

f:id:kkamegawa:20161206204345p:plain

Gitではコミットメッセージが必須になっているので、変更内容を簡潔に入力します。関連作業項目に作業項目番号(Feature,Product Backlog Item, Taskすべて通し番号です)を指定すると、GitHubのissueに関連付けられるのと同じ効果になります。

f:id:kkamegawa:20161206204346p:plain

もちろん、コミットメッセージに #番号 と書いても同じ動作になりますので、好きな方法で関連付けを行ってください。

f:id:kkamegawa:20161206204347p:plain

ローカルにコミットが行われたので、プッシュもしくは同期をクリックして、リモートブランチにgit pushします。

f:id:kkamegawa:20161206204343p:plain

成功すると、このようにVisual Studioでブランチツリーが表示されます。

f:id:kkamegawa:20161206204348p:plain

ローカルのコミットログもVisual Studio内で確認できます。

pull request(プル要求)

Visual Studioで作成する

f:id:kkamegawa:20161206204349p:plain

Visual Studio内の日本語訳で変わらなさそうな残念訳の一つ、「プル要求」…pull requestです。connectでのフィードバックも行われているんですが…なんでなんでしょうね。ブランチとかは普通にカタカナなのに。

f:id:kkamegawa:20161206204350p:plain

プル要求をクリックすると、自分が要求済み、割り当てられたpull requestの一覧が表示されます。ここでは新規作成するので、「新しいプル要求」をクリックします。

ブラウザでpull requestを処理する

f:id:kkamegawa:20161206204351p:plain

ウェブブラウザが起動して、作成画面が表示されます。以前はVisual Studio内でフォームを表示していましたが、変化が激しいこともあり、ウェブブラウザ内を呼び出すように変わったみたいですね。

コミットログおよび、変更されたファイル一覧が表示されます。New pull requestをクリックすると、作成画面に移動します。

f:id:kkamegawa:20161206204352p:plain

pull request画面で変更内容の確認ができます。Overviewで概要を確認します。

f:id:kkamegawa:20161206204353p:plain

Filesで変更されたファイルを確認します。今回はファイルの追加のみですが、削除されたところは赤色で表示されます。

f:id:kkamegawa:20161206204354p:plain

Updatesでpull requestに対する変更の確認ができます。

f:id:kkamegawa:20161206204355p:plain

commitsでコミットログの確認ができます。

f:id:kkamegawa:20161206204357p:plain

…をクリックすれば、pull requestの変更をトラッキングするfollowや、cherry pickができます。

cherry-pick

f:id:kkamegawa:20161206204358p:plain

コミットの「つまみ食い」であるcherry-pickの対象となるブランチを選択します。

merge

f:id:kkamegawa:20161206204356p:plain

pull requestレビューが問題ないかどうか確認後、Approve(承認), Reject(差し戻し)などを選択します。今回はApproveを選択します。

f:id:kkamegawa:20161206204359p:plain

Complete(完了)か、Abandon(放棄)を選択します。

f:id:kkamegawa:20161206204400p:plain

Completeを選択した場合、確認のダイアログが表示されます。ブランチがもう必要ない場合はdelete,複数のコミットを一つにしたい場合、squashにチェックしてください。この辺はいろいろ流儀やマサカリが飛んでくるので、深入りしません。

f:id:kkamegawa:20161206204401p:plain

マージが完了すると、サマリーページが表示されます。

マージ後

f:id:kkamegawa:20161206204403p:plain

マージ後、ブランチを見るとこのようになっています。ゴミ箱をクリックすると、ブランチが完全に削除されます。

f:id:kkamegawa:20161206204402p:plain

masterブランチのコミットログがこのようになっています。

まとめ

簡単にGitでの操作を紹介しました。ブランチの切り方やコミットをまとめないといけないとか、いろいろやり方はあると思うので、世の中のいろんな方法を参考にしてください。

TFVCでのブランチについてはまた改めて紹介します。

明日はテストかビルドを紹介します。