分支資料夾和檔案

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 |Visual Studio 2022

您可以使用分支來完成下列目標:

  • 在相同的程式代碼基底上管理多個小組的並行工作。
  • 隔離程式代碼基底不同變更集所引進的風險。
  • 擷取快照集,然後支援後續的隔離變更(例如,若要建立發行分支)。

例如,下圖顯示 DinnerNow 公司為了符合其業務需求而開發的分支結構。

顯示分支結構的圖表。

功能小組 A 和功能小組 B 各自在不同的分支中執行其工作。 當小組準備好整合其工作時,他們會將其分支合併至開發分支。 當開發分支的組建穩定且準備好進行測試時,小組會將開發分支合併至測試分支。

隨著每個版本發行,Main 分支會分支為新版本分支,例如 Version1 分支和 Version2 分支。 遵循此策略,公司可以視需要個別增強或修正每個過去的產品版本。

您可以使用 Visual Studio 原始檔控制總管來執行分支作業,如本文所示,或在 branch 命令提示字元中執行命令。 如需詳細資訊,請參閱 分支命令

提示

分支是建立一組平行檔案版本的重要且功能強大的技術。 不過,使用分支可以將複雜度和成本新增至您的專案。 例如,當您合併兩個分支時,可能必須解決衝突。

建立分支之前,您應該先考慮是否可藉由套用標籤來更符合您的需求。 藉由套用標籤,您可以快速且輕鬆地擷取檔案狀態的快照集,以便稍後擷取或建置處於該狀態的檔案。 如需詳細資訊,請參閱 使用標籤來擷取檔案的快照集。

必要條件

  • 若要將資料夾轉換成分支,您的 [管理] 分支 許可權必須設定為 [ 允許]。
  • 若要分支分支,您的 管理分支 許可權必須設定為 [允許 ],來源和目標分支的路徑。 目標 分支路徑的合併 許可權必須設定為 [允許]。
  • 若要分支資料夾或檔案,您的 [取出 ] 許可權和 目標路徑的 [合併 ] 權限必須設定為 [允許]。

如需詳細資訊,請參閱 預設 TFVC 許可權

將資料夾轉換成分支

分支與資料夾不同。 下圖顯示 Visual Studio 原始檔控制總管中 DinnerNow 資料夾結構的最上層。

顯示原始檔控制總管中資料夾結構的圖例。

如圖所示,您仍然可以使用資料夾來組織專案版本控制階層內的分支。 不過,資料夾和分支有不同的外觀和不同的功能。 當您以滑鼠右鍵按下資料夾或分支並選取 [進階>屬性] 時,會顯示不同的資訊和不同的功能。

當您執行分支作業時,分支在資料夾上具有重要的優點。 分支支援版本控制功能,可提供分支結構的額外可見度,以及變更集合並的位置。 雖然您仍然可以在資料夾之間分支和合併,但小組的最佳做法是只在分支之間分支和合併。 下列程序說明如何將資料夾轉換成分支。

重要

請確定您要轉換的資料夾存在於伺服器上。 如果 [原始檔控制總管] 中資料夾旁邊的暫止新增圖示TFSC 擱置新增狀態圖示。出現,請以滑鼠右鍵按兩下資料夾,然後選取 [簽到 擱置的變更]。

  1. [原始檔控制總管] 中,以滑鼠右鍵按下您要轉換的資料夾,然後選取 [分支] 和 [合併>轉換成分支]。

  2. 在 [ 將資料夾轉換為分支 ] 對話框中:

    • 在 [ 擁有者 ] 欄位中,選擇性地輸入擁有此分支的人員名稱。 此欄位僅供資訊使用,且未授與任何許可權。
    • 在 [ 描述 ] 欄位中,選擇性地輸入資訊,以協助其他小組成員使用此分支或瞭解其用途。
    • 如果您要轉換已經分支的資料夾,請選取 [ 遞歸地針對所有分支子資料夾 執行此轉換] 複選框。 這個選項會將從這個資料夾分支的所有資料夾轉換成分支。
  3. 選取轉換

重要

您無法巢狀分支。 因此,如果資料夾包含或由分支包含,則無法將資料夾轉換成分支。 例如,下圖顯示FeatureTeamA分支的父系和子系都無法轉換成分支。

顯示不允許巢狀分支的圖例。

將資料夾轉換成分支之後,如果小組決定變更分支結構,您可以將它轉換回資料夾。

將分支轉換成資料夾

  1. [原始檔控制總管] 中,選取您要轉換的分支。
  2. 在 Visual Studio [檔案] 選單中,選取 [原始檔控制>分支] 和 [合併>轉換為資料夾],然後選取 [是]。

分支分支

將資料夾轉換成分支之後,您就可以從該分支建立其他分支。 下列程式示範如何使用 Visual Studio 來分支分支。 若要在命令提示字元中執行這項工作,請參閱 分支命令

  1. [原始檔控制總管] 中,以滑鼠右鍵按下您要分支的分支,然後選取 [分支和合併>分支]。

  2. 在 [分支名稱<>] 對話框的 [從版本分支] 底下,選擇性地下拉式清單,然後從 [依據] 列表中選取選項:

    • 最新版本會建立版本控制中最新版本的分支。
    • Changeset 可讓您在 [變更集] 方塊中輸入變更集的數目,或選取省略號 ... 以開啟 [尋找變更集] 對話框。 如需詳細資訊,請參閱 尋找和檢視變更集
    • Date 可讓您在 [ 日期] 方塊中輸入或選取日期
    • 標籤可讓您輸入或尋找標籤。 如需詳細資訊,請參閱 使用標籤來擷取檔案的快照集。
    • 工作區版本 可讓您在不同的工作區中建立版本的分支。
  3. 在 [目標分支名稱],指定或流覽至並選取新分支的路徑。

  4. 選取 [分支]。 分支隨即建立,並出現在原始檔控制總管中

注意

不同於大部分的版本控制作業,此作業不會產生擱置的變更。 相反地,作業會立即完成,您無法復原作業。

分支資料夾或檔案

雖然您可以直接分支資料夾或檔案,但建議您避免這樣做。 如果您直接分支檔案或資料夾,您將無法 檢視分支階層追蹤變更集。 最佳做法是在分支之間分支和合併,如本文稍早所述。

但是,如果您有特殊需要分支資料夾或檔案,您可以使用下列程式。 若要在命令提示字元中執行這項工作,請參閱 分支命令

  1. [原始檔控制總管] 中,以滑鼠右鍵按下您要分支的資料夾或檔案,然後選取 [分支和合併>分支]。

  2. 在 [分支] 對話方塊的 [目標] 方塊下,修改新分支的位置和名稱,或選取 [流覽] 以瀏覽並選取目標。

  3. 在 [ 從版本分支] 下,選擇性地下拉式清單,然後從 [依據 ] 列表中選取選項:

    • 最新版本會建立版本控制中最新版本的分支。
    • Changeset 可讓您在 [變更集] 方塊中輸入變更集的數目,或選取省略號 ... 以開啟 [尋找變更集] 對話框。 如需詳細資訊,請參閱 尋找和檢視變更集
    • Date 可讓您在 [ 日期] 方塊中輸入或選取日期
    • 標籤可讓您輸入或尋找標籤。 如需詳細資訊,請參閱 使用標籤來擷取檔案的快照集。
    • 工作區版本 可讓您在不同的工作區中建立版本的分支。
  4. 選擇性地選取 [將目標專案下載到工作區 ],以在本機工作區上建立版本控制專案的複本。 如果您不需要本機複本,而且想要透過不將許多專案下載到您的計算機來改善效能,請清除複選框。

  5. 選取 [確定]。 分支隨即建立,並出現在原始檔控制總管中

    注意

    如果您選取 [將目標專案下載至工作區],且您指定的本機資料夾未對應到目前的工作區,就會顯示 [瀏覽資料夾] 視窗。 瀏覽資料夾,或選取 [建立新資料夾],指定要同步處理至版本控制專案的資料夾,然後選取 [ 確定]。