逐步解說:從命令列使用 Team Foundation 版本控制
更新:2007 年 11 月
本逐步解說將說明如何使用 Visual Studio Team System Team Foundation Server 命令列用戶端 tf.exe 執行版本控制作業。
在本逐步解說當中,您將完成下列工作:
建立工作區 (Workspace),也就是在版本控制伺服器中存放個人檔案複本的位置,以及隨後從伺服器取得原始檔複本的位置。
將檔案加入至伺服器,接著從伺服器簽出檔案,然後在工作區中編輯該檔案。
簽入暫止的變更,並建立變更集。
藉由在特定的變更集建立時,擷取伺服器上的原始檔,將工作區還原到特定時點。
必要條件
如果您可以建立與 Team Foundation Server 之間的連接,而且擁有適當的使用權限,則可以在命令提示字元執行版本控制命令、批次檔或指令碼檔。若要這麼做,您必須使用 [Visual Studio 2008 命令提示字元] 公用程式,或是透過 vsvars32 在目前的命令提示字元中設定幾個環境變數,如下列範例所示。如需聯結 Team 專案的詳細資訊,請參閱逐步解說:聯結 Team 專案。
若要開啟 Visual Studio 2008 命令提示字元
- 依序按一下 [開始]、[所有程式],並依序指向 [Microsoft Visual Studio 2008]、[Visual Studio Tools],然後按一下 [Visual Studio 2008 命令提示字元]。
另外,您也可以在 Visual Studio 安裝路徑 (通常是 DriveLetter:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools) 中執行 vsvars32。
必要的使用權限
若要完成這個逐步解說,您必須擁有 CreateWorkspace、Checkin 和 PendChange 權限。
建立工作區
若要開始使用版本控制,您必須建立工作區,工作區是指伺服器上之檔案和資料夾的本機複本。當加入、編輯、刪除、移動、重新命名,或甚至是變更任何版本控制的項目時,所有變更都會隔離在工作區內,讓您可以放心在這裡建置及測試變更。當您執行簽入時,伺服器便會認可這些變更,並將這些變更提供給工作區以外的地方使用。
工作區是由一系列的對應所組成,每個對應都會將伺服器上的資料夾與磁碟上的本機資料夾產生關聯。若要從伺服器取得檔案的本機複本,請建立新工作區,並指定此工作區的對應,然後使用 get 命令在工作區中填入原始檔。
您必須先建立工作區,才能在電腦上執行所有的 Team Foundation 版本控制命令。工作區會將作業的輸出保存在其中,讓您可以簽入作業結果,讓伺服器認可。
若要建立工作區來管理版本控制的檔案
依序按一下 [開始]、[所有程式],並依序指向 [Microsoft Visual Studio 2008]、[Visual Studio Tools],然後按一下 [Visual Studio 2008 命令提示字元]。
輸入 mkdir c:\projects。
輸入 cd c:\projects。
輸入 tf workspace /new /s:servername,其中 servername 是 Team Foundation Server 的名稱 (例如 tf workspace /new /s:/team1server),然後按 ENTER 鍵。
注意事項: 如果這是您第一次連接至伺服器,必須指定完整的 URL。例如,指定 "http://team1server:8080"。
在 [建立工作區] 對話方塊中,輸入新工作區的名稱,例如 "cmdwalkthrough"。
在 [原始檔控制資料夾] 資料行下,從伺服器選取 Team 專案。
您可以按一下省略符號 (…) 瀏覽伺服器資料夾。
您選取的資料夾將會對應至 [本機資料夾] 資料行下的 [c:\projects] 資料夾。
按一下 [確定]。
您可以在 [命令提示字元] 中輸入 tf workspaces,查看目前電腦上已建立的所有工作區。如需詳細資訊,請參閱 Workspaces 命令。
當您建立工作區時,系統會為該工作區建立一份「工作區定義」(Workspace Definition) 並進行維護。Team Foundation Server 會儲存工作區定義,並列出工作區中的所有檔案、每個檔案所根據的版本,以及其目前的狀態。因為伺服器會儲存工作區定義,所以任何擁有正確使用權限的使用者,都可以在他們的電腦上複製與您工作環境完全相同的環境,除了暫止的變更以外。如需這個做法的詳細資訊,請參閱 Get 命令。
加入和編輯檔案
建立工作區之後,您就可以指定要加入至版本控制的檔案。接著您便可以在簽入變更之前編輯這些檔案。
若要準備檔案以加入至版本控制
在命令提示字元中,輸入 notepad 314.cs,然後按 Enter 鍵。
當 [記事本] 提示您 [是否要建立新的檔案?] 時,請按一下 [是]。
在 [記事本] 中輸入 using System.IO;,並儲存您的變更,然後關閉 [記事本]。
在 [命令提示字元] 中輸入 tf add 314.cs,將此檔案加入至暫止的變更清單中。
輸入 tf status ,確認已將 314.cs 加入到暫止的變更清單中;
您可以使用這個命令來檢視目前的工作區中所有暫止的變更。
在 Team Foundation 中,您無法以單一步驟就在伺服器中將項目加入至版本控制。首先,您要將檔案加入至工作區內的一組暫止的變更,然後再將所有暫止的變更統一送出至版本控制伺服器。
Team Foundation 會強制執行這兩個步驟完成加入檔案的程序,確定您可以在內容中測試及編譯程式碼之後,再將程式碼簽入至伺服器。這也表示,如果 Team Foundation 因為任何原因使得伺服器無法認可其中任一項變更,則將不會認可所有的變更。
簽入暫止的變更
當您簽入一組暫止的變更時,Team Foundation 會建立變更集。
若要將所有暫止的變更簽入到工作區中
在命令提示字元中輸入 tf checkin。
在 [簽入] 對話方塊中,於 [註解] 方塊內輸入可描述變更性質的註解,再按 [簽入]。
變更集是邏輯容器,Team Foundation 會將所有與單一簽入作業相關之內容包裝於其中。大多數的簽入作業都比這裡提供的簡單範例更為複雜。簽入常會牽涉到多個檔案和資料夾的變更,因此,變更集代表的是一個完整工作封裝,您可以將此封裝統一放入工作區內。
變更集當中包含:
原始程式檔和資料夾的修訂,例如新增、重新命名、編輯、刪除和移動。
相關的工作項目,例如 Bug。
系統中繼資料,例如變更集編號、作者、日期/時間等等。
簽入提示和註解。
接下來您將會建立第二版的 314.cs 檔,以檢查其與儲存在版本控制伺服器上的檔案版本有何差異。
若要為版本控制內的檔案建立新版的檔案
在命令提示字元中輸入 tf checkout 314.cs。
輸入 notepad 314.cs。
在 [記事本] 中,於 using System.IO; 之後新增一行,然後輸入 using System.Windows;。
注意事項: 這個步驟的用意在於製造錯誤,而在之後的步驟中,會示範如何將檔案復原至無錯誤的版本。
儲存您的變更,然後關閉 [記事本]。
在命令提示字元中輸入 tf checkin。
在 [簽入] 對話方塊的 [註解] 方塊內輸入註解,然後按一下 [簽入]。
314.cs 檔內的暫止的變更會在簽入伺服器時視為新的變更集。這麼做的同時也會在版本控制伺服器上建立第二版的 314.cs。
將檔案回復到上一個版本
軟體開發人員經常需要將工作環境回復到兩個月之前的狀態,然後對特定組建進行專門的修正。變更集編號有助於識別已簽入一段時間的特定幾組變更。
變更集編號是一組相關檔案和資料夾修訂的唯一識別項,變更集編號也是整部版本控制伺服器在特定日期和時間的版本號碼。
因此,您可藉由其編號將工作區回復到當您簽入有問題之程式碼 (using System.Windows;) 時的伺服器狀態。
若要讓工作區與變更集同步
在 [命令提示字元] 中輸入 tf get /version:C<##>,其中 <##> 是包含原始版本之 314.cs 的變更集編號。
注意事項: 您可以對 314.cs 檔使用記錄命令來取得正確的變更集,例如,在命令列中輸入 tf history 314.cs。
Get 命令會將所有對應之檔案和子資料夾的工作複本,從伺服器擷取到本機工作區。這些檔案是之前建立變更集 <##> 時擷取的。如果現在用 [記事本] 開啟 314.cs,您會看到只有一行出現:"using System.IO;"。