the DevOps journey (8) – 使用TFVC程式碼版控

我們先看採用TFVC的部分,請先建立一個以TFVC為版控的Team Project:

當你在VSTS/TFS中把專案建立好之後,首要工作就是從用戶端的Visual Studio連上伺服器,請開啟Visual Studio,找出Team Explorer視窗:

在Team Explorer視窗中,最上方(上圖1)的位置,有一個連線按鈕,點選後接著會出現Manage Connections選項,理論上會有兩個,一個是上圖2的『Connect to Project』,另一個是『Connect to Github』。

上面的Project指的就是VSTS/TFS的TFVC或Git Repository,而Connect to Github指的當然就是網路上那個Guthub。

請注意,不管你在team project建立時,選擇的是TFVC或Git版控,都是點選上圖2那個『Connect to Project』

接著會出現底下這樣的畫面,這是VS2017的UI,你會看到所有你的登入帳號可以連上的TFS Server或VSTS站台:

留意上圖,其中(1)的部分是你的連線帳號,由於該帳號可以連上我建立於區域網路的TFS以及internet上的VSTS,因此上圖(2)和(3)分別就是TFS伺服器以及VSTS站台,而展開的項目當然就是Team Project(上圖6),而(4)和(5)所指的分別是位於VSTS站台上的Team Project裡面的Git版控的repository和TFVC repository。

新版VS2017的連線UI設計的很完整,一次把所有需要連線的對象全列了出來,你只需要點選後,按下Connect鈕即可。

Mapping工作區並下載檔案

當你連上了伺服器端之後,會看到類似下圖的畫面,由於範例是剛建立的Team Project,因此下圖中你會看到還沒有其他開發人員先前已經簽入(Check-in)的source code,只有一個預設的資料夾:

由於第一次連上,你必須先Mapping你的Workspace,你會發現上圖(2)的地方,可以設定你的用戶端工作區位置,一但設定,未來該位置就可與伺服器端做同步,設定後按下『Map & Get』,如果先前有其它開發人員已經簽入程式碼,也會被下載下來。

你也可以點選下圖(1)的地方,也可以快速的設定工作區Mapping:

加入新的程式碼

Map工作區之後,你也可以點選下圖『New…』的Link,新增一個新的方案(Solution),你會發現,點選後跳出一個新增專案的視窗,而預設的資料夾位置,應該就是你Mapping的工作區目錄:

您可以建立一個Web應用程式專案試試看,建立時請記得勾選『Add to Source Control』(上圖1)。

建立完成之後,請切換到Solution Explorer,你可以在該專案上按下滑鼠右鍵,選擇Check In程式碼:

接著會看到底下的畫面,該畫面列出所有正準備簽入到伺服器端的檔案。你可以在下圖(1)的地方輸入一些Comment,一般來說會填入此次簽入程式碼時做哪些修改或目的,(2)的部分則是關聯的工作項,(3)則是準備被簽入的檔案,(4)則是已排除不簽入的檔案。

為何有些檔案會不簽入呢? 因為版控系統只是為了幫我們管理程式碼的版本,毋須將所有的檔案都簽入,例如.dll就是典型被排除在外不該簽入的檔案,因為它只需要用被版控的source code重新Build過就可以再次產生,本身毋須存放到伺服器端一起版控:

輸入Comment和確定要納入控管的檔案之後,你可以按下上圖(5)的位置,即可把所有程式碼簽入到伺服器端。成功簽入之後,回到Team Project站台網頁,點選CodeàFiles後,會呈現出結果如下:

你會發現程式碼都已經簽入了。

簽入修改後的程式碼

你可以嘗試在專案中新增一個檔案,或是修改程式碼,會發現新增的檔案在Solution Explorer顯示時,檔案前會有一個『+』符號(下圖2),而修改過的檔案則是紅色的打勾(下圖1):

同樣的,你可以嘗試將上圖的程式碼簽入TFS/VSTS當中,再去Portal上看,這時,會發現版控的威力出現了:

從CodeàChangeset選單中可以看到每一次的修改紀錄清單,點選進去會看到每一個檔案的修改紀錄,不管是檔案的新增、或是修改,都可以很清楚地呈現出對比狀況。

一但有了程式碼版控,你在Visual Studio當中,也可以一目了然的看到程式碼的修改歷程,你可以在Solutions Explorer中,選擇Compare:

將會出現類底下這樣的差異紀錄,綠色表示新增的部分,而紅色表示被刪除的部分:

哪一位開發人員,在什麼時間,做了什麼調整…都將無所遁形。

好啦,TFVC我們暫且先看到這邊,後面來看看Git版控

------------------------------
本系列文章索引位於 http://studyhost.blogspot.tw/2017/02/the-devops-journey-index.html
相關教育訓練: http://www.studyhost.tw/NewCourses/ALM 
若這篇文章對您有所幫助,請點選這裡加入FaceBook專頁按讚並追蹤,也歡迎您幫我們分享出去,謝謝您的支持。

留言

這個網誌中的熱門文章

使用 Airtable 在小型需求上取代傳統資料庫

使用Semantic Kernel 建立自然語言請假系統

精彩(且驚人)的Semantic Kernel入門範例

在 LINE Bot 開發中使用Semantic Kernel建立自然語言請假系統

專業的價值...