如何在 TFS 中使用 Git


  對 Charley Blog 的代碼進行版本控制的想法由來已久,在代碼建立之初其實已經使用過 TFS 進行控制,只是后期沒能好好用起來,加之后來系統環境的變化導致TFS連接丟失,便算是正式放棄了版本控制這個重要的工具。時隔好幾個月后,最近一次偶然的機會,在嘗試了 Git 工具來維護《ueditor上傳圖片到七牛(CSharp版本)》中所使用的代碼后,感覺良好,因此便有了利用 Git 來維護 Charley Blog 的原始沖動。

  本片文章中,我會詳細介紹如何使用 Git 來連接TFS,請大家接着往下看吧。

  如果懶得看文字,您也可以訪問如下視頻網站進行觀看:土豆優酷56

 

TFS

  Team Foundation Server 是微軟提供的一款團隊協作開發工具,提供應用程序生命周期管理(ALM,Application Lifecycle Management)功能,主要包含工作項建立、源代碼控制(TFVC,Team Foundation Version Control)、測試管理等,可以有效幫助團隊成員進行協作開發。

 

Git 簡介

  Git 是一款分布式的版本控制工具,開發者可以使用 Git 把代碼存放到本地代碼庫或者網絡上的代碼庫(或稱代碼托管服務器)進行管理。國外比較有名的 git 托管服務器有 GitHub、GoogleCode、BitBucket、CodePlex 及微軟的雲端TFS。國內有 GitCafe、CSDNCode、開源中國-代碼托管。

  而版本控制工具除 Git 外,還有SVN(Subversion)、VSS(Visual SourceSafe)、TFVC等。

  本文默認讀者已經對 Git 有了基本的認識,如果尚未了解過,建議大家閱讀參考資源[1][2]

 

在 TFS 中使用 Git

  自2013年1月30日開始,TFS就開始支持使用 Git 簽入源代碼了,這對很多項目組來說是個不折不扣的好消息。但是想使用該功能必須安裝一個 Visual Studio 擴展,該擴展只支持 Visual Studio 2012 Update 2 或以上版本(Visual Studio 2013則原生支持 Git)。[3]  安裝了之后,開發團隊就可以混合使用 Git 和 TFVC 來簽入代碼,也可以使用其它第三方的 Git 客戶端工具或第三方 Git 托管服務器。如果使用 TFS 作為代碼托管服務器,那么還能繼續使用 TFS 強大的應用程序生命周期管理工具。

 

  下面,我會通過實例演示如何使用 Git 簽入代碼到 TFS。

 

    1. 下載 Visual Studio 擴展

  沒有安裝擴展之前,團隊資源管理器中只顯示 TFS。

 

  選擇 “工具” -> “擴展更新”,進入如下界面。

在輸入框中輸入“git”

 

 

  安裝完成后,重啟 Visual Studio,會發現團隊資源管理器界面多了 Git 的欄目。

 

  2. 新建項目

  選擇控制台應用程序,同時勾選 “添加到源代碼管理”。

 

  第一次進入項目的時候,會請你選擇想要的源代碼管理系統,這里我們選擇 “Git”。

 

  當選擇完源代碼管理系統后,Visual Studio 會對 Git 進行初始設置。

該項目的 Repository 已經創建成功

 

  這時候,我們查看解決方案資源管理器,可以看到在每個項目前都多了個源代碼控制的狀態圖標。

“+” 代表該文件是新添加的

 

  右鍵單擊每一項,會發現在上下文菜單中多了三個新東東: Undo、View History、Commit。這些是源代碼控制的快捷菜單。

 

  3. 配置 Git 源代碼管理工具

  打開 “團隊資源管理器”,顯示如下:

“提示安裝第三方命令行工具”,目前用不到,暫時忽略

 

  點擊 “Changes”

 

  此時團隊資源管理器會切換到 “Changes” 界面,該界面會列出所有本次修改過的代碼。

 

  在我們正式簽入代碼之前,還需要對 Git 進行一次配置,否則 “Commit” 按鍵將一直顯示灰色,無法點擊。

  點擊 “Config” 就可以進入到配置界面,在此輸入用戶名、郵箱,用以在源代碼管理器的歷史記錄中顯示某次簽入的人員信息。填寫完畢后,點擊 “Update”。

 

  用戶名、郵箱並不作為登錄TFS的憑據,只是用於標識某次簽入人的代號,可以任意填寫。上述配置可以在后期進行修改。

 

  4. 項目簽入

  再回到 “Changes” 界面, 填寫本次簽入的描述信息后點擊 “Commit” 進行簽入。

 

  我們還未連接過任何源代碼托管服務器,所以現在的 “簽入” 只是簽入到本地代碼庫中。因此你會發現簽入的速度極快,簽入成功后,顯示如下信息。

Commit XXX created locally. Sync to share your changes with the server.

 

  點擊 “Commit 77a04762”,查看本次簽入的詳細情況。

 

  回到解決方案資源管理器,會發現原先的 “+” 號變成了一把小鎖,這表示該文件已經簽入成功了。

 

  5. 修改代碼

  修改Program.cs中的代碼,會發現小鎖變成了一個 “勾子”,這表示該文件已經在本地進行了修改。

 

  右鍵單擊解決方案資源管理器中的 “Program.cs” ,選擇 “Source Control” -> “Compare with Umodified” 比較一下當前版本和上一個版本的區別。

選擇 “Compare with Umodified”

 

“比較” 面板

 

  簽入本次改動后,查看歷史記錄。

“歷史記錄” 面板

 

  截止目前為止,我們對代碼的版本管理操作都只是基於本地的代碼庫,並沒有連接到網絡上的服務器。這對於個人開發者來說是個絕妙的事情。

 

  6. 同步到雲端的 TFS 服務器

  6.1 使用 Visual Studio Online 建立服務器[6]

  對於小於5個人的小型開發團隊而言,可以使用 Visual Studio Online 來免費維護自己的代碼。

 

  在瀏覽器中輸入 “https://app.vssps.visualstudio.com/” 連接到 Visual Studio Online,一個微軟賬戶只能創建一個 Visual Studio Online 賬戶。

 

  創建一個代碼庫,選擇將使用的源代碼管理工具。

創建新代碼庫

 

創建成功

 

  點擊左上角的 “Code” 選項,進入 “Code” 頁面。第一次進入該頁面,會提示如何連接到此代碼庫。復制代碼庫地址。

 

  6.2 代碼同步到新創建的代碼庫中

  回到 Visual Studio, 選擇 “Unsynced Commits”,將上面復制的地址粘貼到對就的位置。

Unsynced Commits 界面

 

將地址粘貼到輸入框

 

  點擊 “Publish”,便開始將本地代碼庫中的數據同步到服務器。

點擊 “Publish”

 

提成成功

 

 

  7. 在服務器端查看代碼

  當數據同步成功后,我們可以進入服務器查看代碼狀態。

 

  還是進入 “Code” 頁面,此時已經能正常看到剛才提交過的代碼了。

 

  查看歷史記錄,可以看到所有本地的歷史版本都已經被正確同步到了服務器端。

 

  上面,我只是演示了如何將新建的項目添加到雲端的TFS。你完全可以將已有的項目添加到源代碼管理控制系統,請見參考資源[6]

 

Git 與 TFVC

  TFVC

  集中式的版本控制系統。具體來說的話,使用該工具,所有文件的版本歷史數據只保存在服務器上,開發人員的機器上只會保留文件的一個版本,想查看歷史數據必須從服務器上調取。

  所有對代碼的版本控制操作必須連接服務器,無法在本地進行代碼的簽入、創建分支、歷史版本比較等操作。

  分支是基於路徑的,而且只在服務器上創建。

  支持在代碼簽入時進行強制檢查,如果不符合預先設定的規范,則TFS會拒絕簽入

  支持掛起所做的修改(即vs2010中的shelve功能,vs2012中的suspend功能),並在日后繼續。

 

  Git

  分布式的版本控制系統,每個開發人員的機器上都會保存完整的版本歷史。

  對代碼的版本控制如簽入創建分支、歷史版本比較時不需要連網。

  分支是輕量級的,可自由切換。

  在代碼簽入時不支持強制檢查。

 

  詳細差異請見參考資源[5]

 

參考資源

  [1] Pro Git 中文版

  [2] git - 簡明指南

  [3] Git init VS

  [4] Use Visual Studio with Git

  [5] 使用版本控制

  [6] 連接到 Visual Studio Online

 

  本文來自 Charley Blog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM