共用方式為


逐步解說:版本控制的進階功能

更新:2007 年 11 月

本逐步解說將說明如何在 Team Foundation 版本控制中使用分支、合併和標籤。

在開始進行此逐步解說之前,您應該要對分支、合併及套用標籤到版本控制項目有基本的了解:

  • 分支:Team Foundation 版本控制中的分支會將 Team Foundation 伺服器上的一組指定之檔案和資料夾複製到稱為分支的新位置上。就本質上而言,分支會根據現有的資料夾或檔案建立新的資料夾或檔案。分支會保留您所進行分支的資料夾和檔案之記錄,並讓變更得以從舊的檔案合併到新的檔案。您可以透過 [原始檔控制總管],或使用 Branch 命令從命令列進行分支。如需詳細資訊,請參閱瞭解分支

  • 合併:合併是將位於不同分支的兩個不同版本檔案、資料夾或 Team 專案結合的程序。其中一個分支是來源分支,另一個則是目標分支,來源分支包含您要合併到目標分支內的項目。這些資料夾和檔案的版本可以根據變更集、日期、標籤工作區或是最新的版本。如需詳細資訊,請參閱瞭解分支。您可以透過 [原始檔控制總管] 或使用 Merge 命令從命令列進行合併。

  • 標籤:標籤是一個標記,可以選擇性將它附加至版本控制伺服器中一組無關的檔案和資料夾。透過標籤的使用,將特定項目集合擷取到工作區,以進行開發或建置的工作將變得更為容易。

本主題說明如何執行分支作業,然後在產生的分支及原始分支內編輯小組成員的檔案。接著會將這些編輯後的檔案簽入,並執行合併。合併將會識別衝突情況,而您必須解決這些衝突。最後,您會將標籤套用到變更集。

必要條件

完成這個逐步解說之前,您必須:

必要的權限

若要完成這個逐步解說,您必須擁有 [PendChange] 和 [Checkin] 權限。

分支版本控制項目

下列程序將說明如何執行分支作業。分支是一項 Team Foundation 版本控制功能,是為了要用來建立以現有資料夾或檔案為基礎的新資料夾或檔案所設計。如需詳細資訊,請參閱瞭解分支HOW TO:分支檔案和資料夾

警告:

下列程序假設您已經完成逐步解說:探索 Team Foundation 版本控制中的步驟。

若要在版本控制中分支項目

  1. 按一下 [檢視] 功能表上的 [其他視窗],然後按一下並開啟 [原始檔控制總管]。

  2. 在 [原始檔控制總管] 中,開啟包含您在逐步解說:探索 Team Foundation 版本控制中建立之 [MyWindowsApp.sln] 方案檔的 [MyWindowsApp] 資料夾,以滑鼠右鍵按一下該資料夾,然後選取 [分支]。

  3. 在 [分支] 對話方塊的 [目標] 文字方塊中修改新分支的位置和名稱,就是在末端附加 Test Branch。您也可以按一下 [瀏覽] 尋找某個位置。

    注意事項:

    目標分支會自動附加上 "-branch" 字串。

  4. 在 [從版本分支] 區段的 [依據] 下拉式清單中,選取 [最新的版本]。

  5. 按一下 [確定]。

    Team Foundation 版本控制會建立新分支,並在 [原始檔控制總管] 中顯示該分支。

  6. 按兩下名為 [MyWindowsApp Test Branch] 的新分支資料夾。

    請注意在 [暫止的變更] 一欄下,新分支中的每一個項目都有 [分支] 的狀態。

  7. 因為分支是暫止的變更,所以您必須執行簽入,才能套用分支。請以滑鼠右鍵按一下 [MyWindowsApp Test Branch] 資料夾,然後選取 [簽入暫止的變更]。

  8. 在 [簽入] 對話方塊的 [註解] 文字方塊內輸入 Test branch,然後按一下 [簽入]。

    注意事項:

    如果您的 Team 專案有作用中的簽入原則,則可能必須在與工作項目或簽入提示產生關聯之後,才可以繼續。如需詳細資訊,請參閱 HOW TO:使工作項目與變更集產生關聯HOW TO:使簽入提示與變更集產生關聯

    [原始檔控制總管] 中的 [暫止的變更] 一欄會顯示空白項目,表示已經簽入您的新分支。

您現在已經成功建立新的分支並將它簽入。在下一個程序中,您將對原始分支和新分支中的檔案進行變更。

將某些變更套用到分支

接下來,您將會對不同分支內的相同檔案進行不同,但具有衝突性的變更。稍後您會將兩個分支合併,並解決合併衝突。下列程序將說明如何簽出及編輯兩個分支中的檔案。

簽出及編輯版本控制分支中的某些檔案

  1. 在您於上一個步驟建立的新分支中,展開 [MyWindowsApp Test Branch] 資料夾。在右窗格中找出您在逐步解說:探索 Team Foundation 版本控制內建立的 Class1.cs 檔案,然後以滑鼠右鍵按一下該檔案,並選取 [簽出以編輯]。

  2. 在 [簽出] 對話方塊中,按一下 [簽出]。

    [原始檔控制總管] 現在會將檔案的 [暫止的變更] 狀態顯示為 [編輯]。

  3. 按兩下 Class1.cs 檔開啟它,以進行編輯。

  4. 在 Class1.cs 檔中,加入下列粗體顯示的程式碼:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace MyWindowsApp
    {
          class Class1
          {
                string SourceControlMerge = "New branch";
          }
    } 
    
  5. 從 [檔案] 功能表中,按一下 [儲存 Class1.cs]。

  6. 在 [原始檔控制總管] 中,以滑鼠右鍵按一下 Class1.cs 檔,並選取 [簽入暫止的變更]。

  7. 在 [簽入] 對話方塊的 [註解] 文字方塊內輸入 New branch changes,然後按一下 [簽入]。

    注意事項:

    如果您的 Team 專案有作用中的簽入原則,則可能必須在與工作項目或簽入提示產生關聯之後,才可以繼續。如需詳細資訊,請參閱 HOW TO:使工作項目與變更集產生關聯HOW TO:使簽入提示與變更集產生關聯

    [原始檔控制總管] 中的 [暫止的變更] 一欄會顯示 Class1.cs 檔的空白項目,表示已經簽入您編輯的內容。

    現在,您將對原始分支進行變更,其步驟基本上與您剛剛完成的步驟大致相同。

  8. 在 [原始檔控制總管] 中,開啟包含原始分支的資料夾 [MyWindowsApp]。

  9. 在原始分支中展開 [MyWindowsApp] 資料夾,並在右窗格中找出您在逐步解說:探索 Team Foundation 版本控制中建立的 Class1.cs 檔,然後以滑鼠右鍵按一下該檔案,並選取 [簽出以編輯]。

  10. 在 [簽出] 對話方塊中,按一下 [簽出]。

    [原始檔控制總管] 現在會將檔案的 [暫止的變更] 狀態顯示為 [編輯]。

  11. 按兩下 Class1.cs 檔開啟它,以進行編輯。

  12. 在 Class1.cs 檔中,加入下列粗體顯示的程式碼:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace MyWindowsApp
    {
          class Class1
          {
                string SourceControlMerge = "Original branch";
          }
    } 
    
  13. 從 [檔案] 功能表中,按一下 [儲存 Class1.cs]。

  14. 在 [原始檔控制總管] 中,以滑鼠右鍵按一下 Class1.cs 檔,並選取 [簽入暫止的變更]。

  15. 在 [簽入] 對話方塊的 [註解] 文字方塊內輸入 Original branch changes,然後按一下 [簽入]。

    注意事項:

    如果您的 Team 專案有作用中的簽入原則,則可能必須在與工作項目或簽入提示產生關聯之後,才可以繼續。如需詳細資訊,請參閱 HOW TO:使工作項目與變更集產生關聯HOW TO:使簽入提示與變更集產生關聯

    [原始檔控制總管] 中的 [暫止的變更] 一欄會顯示 Class1.cs 檔的空白項目,表示已經簽入您編輯的內容。

現在您已經成功建立分支以及影響原始分支和新分支的變更,接下來的程序將說明如何合併兩個分支中的變更。

合併版本控制項目

在您對分支中的檔案進行變更之後,就可以執行合併。下列程序將說明如何使用 [原始檔控制總管] 進行合併。如需詳細資訊,請參閱瞭解合併HOW TO:合併檔案和資料夾

若要在版本控制中合併分支

  1. 在 [原始檔控制總管] 中,以滑鼠右鍵按一下 [MyWindowsApp Test Branch] 資料夾,並選取 [合併]。

    在 [原始檔控制合併精靈] 的 [來源分支] 文字方塊內,會出現 [MyWindows App Test Branch] 資料夾的路徑和名稱。

  2. 在 [目標分支] 下拉式清單中,選取 [MyWindowsApp] 資料夾。

  3. 在 [選取您要合併的來源分支變更] 中選取 [某個特定版本以後的所有變更],然後按 [下一步]。

  4. 在 [選取來源項目的版本] 步驟的 [版本類型] 下拉式清單中選取 [最新的版本],然後按 [下一步]。

  5. 在 [執行合併作業] 步驟中,按一下 [完成]。

    因為來源分支和目標分支之間有差異存在,所以會出現 [解決衝突] 對話方塊。若要解決衝突,請執行下一個程序中的步驟。如果沒有衝突的話,就不會顯示 [解決版本衝突] 對話方塊。

解決合併衝突

因為兩個分支中的檔案之間有差異存在,所以系統會提示您採取一些動作來解決兩個分支之間的衝突。如需詳細資訊,請參閱 HOW TO:解決兩個檔案之間的衝突。若要解決合併衝突,請執行下列步驟。

若要解決合併衝突

  1. 在 [解決衝突] 對話方塊中,按一下 [解決]。

    [解決版本衝突] 對話方塊隨即出現。

  2. 在 [解決版本衝突] 對話方塊的 [解決方式選項] 中,選取 [合併合併工具中的變更],然後按一下 [確定]。

  3. 在合併工具中按 [下一個變更],找出兩個檔案中的衝突,這些檔案即會並排呈現。其中會顯示您在上一個程序中輸入的兩個字串 (Original branch 和 New branch)。

  4. 按一下包含字串 New branch 的程式碼,

    合併工具即會在下方窗格中顯示變更。

  5. 按一下 [確定]。

  6. 在 [Microsoft Visual Studio] 對話方塊中選取 [是],儲存檔案。

  7. 系統會提示您接受合併的結果。按一下 [是] 保留合併的檔案。

  8. 在 [解決衝突] 對話方塊中,按一下 [關閉]。

  9. 在 [原始檔控制總管] 中,以滑鼠右鍵按一下 [MyWindowsApp] 資料夾,並選取 [簽入暫止的變更]。

    [簽入] 對話方塊隨即出現。

  10. 在 [簽入] 對話方塊中,按一下 [簽入]。

    注意事項:

    如果您的 Team 專案有作用中的簽入原則,則可能必須在與工作項目或簽入提示產生關聯之後,才可以繼續。如需詳細資訊,請參閱 HOW TO:使工作項目與變更集產生關聯HOW TO:使簽入提示與變更集產生關聯

您現在已經成功建立分支、對原始分支和新的分支進行變更、將兩者合併在一起,也解決了衝突。下一個程序將說明如何在 Team Foundation 版本控制中使用標籤。

為版本控制項目加上標籤

在 Team Foundation 版本控制中,標籤是指套用至特定修訂集的名稱。通常也稱為快照組建。標籤只能套用到一個檔案修訂,使用標籤可以讓您輕鬆地組織及管理修訂中的一組檔案。如需詳細資訊,請參閱 使用標籤HOW TO:套用標籤

若要將標籤套用到版本控制

  1. 在 [原始檔控制總管] 內,開啟之前程序中建立的 [MyWindowsApp Test Branch] 資料夾,以滑鼠右鍵按一下該資料夾,並選取 [套用標籤]。

  2. 在 [選擇項目版本] 對話方塊中,選取 [MyWindowsApp Test Branch] 資料夾。

  3. 將 [項目類型] 方塊設定為 [所有檔案 (*.*)],然後按一下 [確定]。

  4. 在 [套用標籤] 對話方塊的 [名稱] 文字方塊內,輸入 MyWindowsApp label test。

  5. 在 [註解] 文字方塊中輸入 All files for building version of MyWindowsApp。

  6. 按一下 [項目] 底下的 [加入]。

  7. 在 [選擇項目版本] 對話方塊中,確定 [查詢] 清單包含您正在處理的 Team 專案。

  8. 巡覽 [MyWindowsApp Test Branch] 資料夾,找出並選取 Class1.cs 檔。

  9. 在 [版本] 清單中,選取 [最新的版本]。

  10. 按一下 [確定]。

    Team Foundation 版本控制即會顯示 [套用標籤] 對話方塊,其中包含已填入的那些項目。

  11. 按一下 [確定]。

請參閱

概念

使用標籤

使用版本控制變更集

參考

Branch 命令

Branches 命令

Merge 命令

Merges 命令

Label 命令 (Team Foundation 版本控制)

Labels 命令

暫止簽入視窗

其他資源

Team Foundation 版本控制逐步解說

分支及合併 Team Foundation 版本控制