使用VSTS的Git進行版本控制(六)——拉取請求
在將代碼合併到主幹以前,拉取請求讓團隊對特性分支的更改提供反饋。審閱人能夠經過建議修改留下評論,並投票批准或拒絕代碼。html
任務1:在Visual Studio的Team Explorer中建立拉取請求
1.在Visual Studio中打開Team Explorer,進入Branches頁面。簽出dev分支。若是沒有分支,建立一個。
2.打開01_Demos_ASPNET5解決方案
3.展開MyHealth.API項目,進入Controllers文件夾,修改任何一個控制器文件,同步變動推送提交,從其餘分支拉取變動。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
4.如今,變動會更新到遠程開發分支。
5.打開Team Explorer Home頁面
6.從Team Explorer 面板打開Pull requests。從開發分支提交變動到主幹。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
7.選擇New Pull Request鏈接打開瀏覽器窗口,在web上建立一個新的拉取請求。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
8.能夠關聯工做項並描述在分支上的變動,以便其餘人更容易地看到你正在嘗試解決的問題。還能夠添加評審人員。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
9.點擊New Pull Request建立一個新的拉取請求。將會看到概述。能夠批准、添加評論或作其餘的更多操做。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
任務2:管理拉取請求
在web上的Code視圖中的Pull Requests選項卡,管理本身的或分配給你的拉取請求。git
1.在web上查看repo,打開Pull Request視圖。選擇Active,以顯示當前repo的全部有效的拉取請求。還能夠經過選擇Completed(已完成的)或Abandoned(放棄的)拉取請求,拉取已關閉的拉取請求歷史記錄。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
2.選擇已分配給你的任一拉取請求。Overview選項卡顯示該拉取請求的當前狀態。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
3.查看標題、描述和討論,以瞭解所建議的更改,並查看其餘評審人員提出的問題。
4.選擇Files選項卡,以查看請求的源和目標分支之間的最大更改的差別。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
5.從All changes下拉菜單中,查看已推送到拉取請求的源分支之前版本的代碼。每當在Team Services中更新分支時,在下拉菜單和Updates選項卡中就會添加一個新版本到列表中。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
6.找到要添加新註釋的文件。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
7.在拉取請求中添加註釋提出建議,回覆以前的評論,和指出修改建議的問題。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
8.能夠更改Tree視圖查看源代碼的結構或僅列出文件。還能夠查看全部評論/活動評論/隱藏評論。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
9.使用Updates選項卡瀏覽做者的更改列表。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
10.能夠在Commits選項卡中選擇和查看在分支中提交的更改。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
新評論從Active(活動)狀態開始,能夠使用評論中的下拉菜單更新爲:
Active:評論仍在評審中。
Resolved:評論中提出的問題已經解決。
Pending:評論中的問題將被處理,可是尚未被修復。
Won’t Fix:注意評論中的建議,可是不在這個拉取請求中作出更改來解決它。
Closed:該評論的討論已關閉。
web
12.在拉取請求視圖的右上角單擊Approve。
默認選項是Approve,可是能夠從下拉菜單中選擇其餘選項:
Approve with suggestions:贊成拉取請求,提供可選的建議以改進代碼。
Waiting for the author:不批准更改,請做者評審該評論。當已經解決了關注點,在從新檢查代碼後,做者應該讓你知道,。
Rejected:更改不被接受。若是以這種方式投票,應該在拉取請求中留下評論,詳細說明拒絕更改的緣由。
api
13.在拉請求視圖的右上角單擊Complete。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
14.輸入用於合併提交的信息,並在接下來的對話框中更新拉取請求描述。能夠選擇壓縮合並拉取請求,並在合併完成後刪除源分支。
Squash merging是一個合併選項,當完成一個拉取請求時,容許壓縮主題分支的Git歷史。與主題分支上的每一個提交都添加到默認分支的歷史中不一樣,squash merge會將全部文件更改添加到默認分支上的單個新提交中。squash merge使默認分支歷史保持乾淨,而且易於追溯,而無須要求團隊進行任何工做流更改。
瀏覽器
15.點擊Complete合併。會看到一個成功消息。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
16.從web回到Pull Requests,應該看到completed選項卡下完成的拉取請求。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
17.打開文件視圖並選擇master 分支 | History,以確保變動成功合併。
![這裏寫圖片描述](http://static.javashuo.com/static/loading.gif)
18.主幹分支成功更新。
動手實驗