如何在 TFS 中使用 Git

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

  本片文章中,我會詳細介紹如何使用 Git 來鏈接TFS,請你們接着往下看吧。git

  若是懶得看文字,您也能夠訪問以下視頻網站進行觀看:土豆優酷56github

 

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]app

 

在 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。ide

 

    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

相關文章
相關標籤/搜索