使用TFS+GIT實現分布式項目管理


前言

GIT是近來很流行的一種版本控制系統,是Linux內核之父Linus Torvalds為了管理Linux內核的開發而開發的一種開源的版本控制工具。

GIT相比傳統的版本控制工具最大的優點是實現了分布式項目管理,開發者可以在本地做版本控制,極大的提高了開發人員在項目實施過程中的自由度。

GIT的分支功能同樣強大。使用傳統的版本控制工具,對於已經上線的項目的維護和項目新階段的開發兩個過程間的同步是非常讓人頭痛的事情,而GIT的分支可以很好的解決這個問題。

為了保證項目的順利實施,使用GIT可以創建不同的分支,如online分支、production分支、development分支等,項目新階段的開發在deveopment分支中進行,而對於已經上線的維護性的開發可以在production分支中進行,當production中的維護性的開發完成之后,可以使用分支間的合並(merge)功能,將production分支中所做的修改合並到主分支development中。production分支通過測試部門的測試后merge到online分支,然后即可由運維部門發布。而當項目新階段的開發完成之后,可以將主開發分支development分支merge到production分支,然后重復前面的流程。在項目實際實施過程中可以視具體情況創建更多分支來滿足版本控制要求。

本文主要講如何使用TFS+GIT實現分布式項目管理,因此不再贅述理論性的東西。想要對GIT有更多了解,可以參考朱永光的這篇博文:http://www.cnblogs.com/redmoon/archive/2013/11/08/3414289.html

下載

http://www.microsoft.com/zh-CN/download/details.aspx?id=42308

最新版本為Team Foundation Server 2013 Update 2,可選擇中文版。

安裝TFS

如果下載的是鏡象文件,可以使用虛擬光驅裝載或者使用解壓軟件解壓,然后點擊根目錄下的tfs_server.exe文件進行安裝;

如果下載的是在線安裝工具,下載完成后會自動進入安裝界面。

配置TFS

安裝完成之后,會自動進入TFS的配置,如下圖所示:

如果不需要配置share point,可以選擇“基本”,“標准單一服務器”和“高級”選項需要指定share point賬戶,“高級”選項擁有更高的靈活性。

本文以“基本”選項為例。點擊“啟動向導”,會進入一個歡迎界面,然后點擊下一步進入SQL Server實例的配置:

筆者選擇使用現有的SQL Server實例:

點擊下一步,然后點配置,等待片刻后配置完成:

筆者使用的數據庫版本是SQL Server 2014 RTM Enterprise,如果數據庫版本過低這一步可能會遇到問題,按提示信息升級至相應版本即可。

至此,服務器端TFS的基本配置完成。接下來要進行項目相關的一些配置,可以在客戶端進行,也可以在服務器端進行。

創建團隊項目

服務器端配置完成之后就要開始創建團隊項目了。Visual Studio自帶的團隊資源管理器是我們進行配置的最方便的工具。必須從版本級別與 TFS 相同的客戶端進行連接。 也就是說,您必須從團隊資源管理器 2013 連接到 TFS 2013。

1.打開團隊資源管理器,點擊右圖中的“選擇團隊項目...”,彈出左圖所示界面。

 

2.點擊“服務器(R)...",點擊添加,輸入TFS服務器的地址。注意防火牆需要開放8080端口,否則可能連接失敗。

 

3.配置工作區。點擊步驟2中的確定,然后選擇默認的項目集合”DefaultCollection“點擊”連接“,成功連接到TFS后,會看到如下圖中step1中所示的界面,提示我們配置工作區。

如上圖所示,配置工作區共有3步,在step2中,筆者將工作區映射到本地磁盤的D:/TFSGit目錄下。

4.創建團隊項目。工作區配置完成后就要開始創建團隊項目了,團隊項目的創建可以在TFS的控制面板(訪問地址一般是http://服務器地址:8080/tfs)中進行,也可以在VS的團隊資源管理器中進行。這里以VS的團隊資源管理器為例。點擊團隊資源管理器中的“主頁”,彈出下圖中step1所示的關聯菜單:

在step2點擊“下一步”,會詢問使用哪種過程模板,選擇默認的“Microsoft Visual Studio Scrum 2013.2”即可,再點擊一下步,會進入step3:

這一步版本控制系統一定要選擇Git。

點擊“完成”資源管理器會自動創建團隊項目。這一過程大約需要幾分鍾的時間。

完成之后會詢問當前源代碼管理插件,如圖:

這里選擇“Microsoft Git 提供程序”作為當前源代碼管理插件。如果沒有自動彈出,可通過工具->選項->源代碼管理來設置。

如果你還沒有安裝這個插件,可以在 http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c 下載。

接下來要克隆GIT存儲區,這里筆者將之前創建的團隊項目Test克隆到本地磁盤D:\TFSGit\Test目錄下:

克隆完成之后,打開本地磁盤映射區D:/TFSGit可以看到Test文件夾已經變色,說明映射成功:

如果已經有項目了,可以直接把它復制到Test文件夾下,也可以在Test文件夾下創建新項目。

然后打開項目,對着解決方案右鍵->將解決方案添加到源代碼管理,再對着解決方案右鍵->提交(commit)。括號中是英文版TFS的按鈕文本,下同。

點擊提交后,這里會讓輸入一些文字用來描述本次提交所做的更改,如step1所示:

step1只是提交到本地,這是Git的強大之處,可以在本地做版本控制。如果要立即同步到服務器,點擊step2中的“同步”按鈕,然后在step3中點擊“同步(S)”即會進行自動同步。

同步進行了兩個操作,一是從服務器拉取(pull)最新版本,然后和本地版本進行比較,進行自動合並(merge)后更新(push)到服務器。

拉取(pull)是從服務器獲取最新版本,推送(push)是將本地內容更新到服務器。如果修改的文件有沖突,Git會自動進行合並(merge)。Git能夠針對一般性的修改進行自動合並(merge),例如當修改僅僅只是添加或刪除一段代碼時,而對於同一代碼片斷服務器版本和本地版本有沖突時Git會提示你手動合並(merge)。雖然其他版本控制工具也都有自動合並功能,但無疑Git做的相當出色。

創建團隊成員

對於一個團隊項目來說,只有一個管理員賬戶是不夠的,還需要創建更多團隊成員。

1.打開TFS的控制面板,訪問地址一般是http://服務器地址:8080/tfs

2.點擊管理,在項目集合"DefaultCollection"下選擇我們要管理的團隊項目,然后點擊添加->添加Windows用戶或組,如圖所示:

假設我們要添加一個名為Jerry的用戶,但是TFS服務器無法識別Jerry是誰,因此,在添加之前,我們要確保Jerry具有訪問服務器的權限。

為此,我們可以在控制面板->用戶帳戶中添加,添加完成之后,再點擊“檢查名稱”就能正確識別了,如圖:

3.點擊“保存更改”,Jerry即添加成功:

創建分支

分支是Git的特色之一,分支的創建可以在團隊資源管理器中進行。在團隊資源管理器的主頁,點擊默認分支master右邊的向下箭頭,選擇“新建分支”,如圖step1:

筆者新建了一個production分支,注意step1完成之后只是在本地創建了分支,右鍵“發布分支”才同步到服務器。

分支間的合並和切換

如上圖將主分支master合並到production分支中。Git的分支切換非常方便,點擊向下的小箭頭即可隨意切換。

筆者以前在使用VSS的時候,要切回舊版本只能新建一個工作區,然后根據打過的某一Label標簽從服務器獲取源代碼,要回到主開發分支上,還得去另外一個工作區,打開另外一個解決方案,麻煩程度簡直不可想象。

刪除團隊項目

團隊項目的刪除無法在團隊資源管理器和TFS控制面板中進行,只能使用TFS自帶的管理工具“Team Foundation Server管理控制台”,刪除團隊項目的操作如圖所示:

結語

Git作為一種版本控制系統,首先,在理念上就領先一般的版本控制工具。其次Git的許多特性都很人性化,便於操作,能夠提高團隊工作效率。無論是大型項目,還是中小型項目,Git都能勝任。

 

——本文版權屬作者和博客園所有,如果轉載請注明出處。


免責聲明!

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



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