什麼是 Team Foundation 版本控制?

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

Visual Studio 2019 |Visual Studio 2022

無論您的軟體專案是大或小,儘快使用版本控制是個好主意。 版本控制系統是由軟體所組成,可協助您追蹤一段時間程式代碼中的變更。 當您編輯程式代碼時,您會告訴版本控制系統擷取檔案的快照集。 版本控制系統會永久儲存快照,讓您可以在稍後需要時叫用。

Azure DevOps Services 和 TFS 提供兩種版本控制模型:Git,這是分散式版本控制,而 Team Foundation 版本控制 (TFVC)是集中式版本控制。 本文提供使用 TFVC 的概觀和起點。 如果您要決定要使用的 Azure DevOps Services/TFS 版本控制類型,請參閱 為您的專案選擇正確的版本控制。

為什麼要使用版本控制?

如果沒有版本控制,您很可能會企圖在電腦上保留多個程式碼複本。 這很危險,因為很容易在錯誤的程式代碼複本中變更或刪除檔案,可能會遺失工作。 版本控制系統可藉由管理程式碼的所有版本,但一次只呈現一個版本來解決此問題。

版本控制系統提供下列優點:

  • 建立工作流程 - 版本控制工作流程會防止每個人使用自己的開發程式搭配不同且不相容的工具的混亂。 版本控制系統提供程式強制執行和許可權,讓每個人都留在相同的頁面上。
  • 使用版本 - 每個版本都有版本變更的描述,例如修正 Bug 或新增功能。 這些描述可協助您依版本追蹤程式碼中的變更,而不是依個別檔案追蹤變更。 各個版本中儲存的程式碼可在需要時隨時從版本控制加以檢視和還原。 這可讓您輕鬆地根據任何版本的程式代碼來建立新的工作基礎。
  • 一起程式 代碼 - 版本控制會同步處理版本,並確定您的變更不會與小組的其他變更衝突。 您的小組依賴版本控制來協助解決和防止衝突,即使人員同時進行變更也一樣。
  • 保留歷程記錄 - 版本控制會保留變更的歷程記錄,因為您的小組會儲存新版的程序代碼。 您可以檢閱此歷程記錄,以了解是誰在何時為了什麼原因而進行變更。 歷程記錄可讓您有信心進行實驗,因為您可以隨時回復到舊版。 歷程記錄可讓您根據任何版本的程序代碼,例如修正舊版中的 Bug。
  • 自動化工作 - 版本控制自動化功能可節省小組時間併產生一致的結果。 當新版本儲存至版本控制時,您可以將測試、程式代碼分析和部署自動化。

有許多專案可以佔用您作為開發人員的時間:重現 Bug、學習新工具,以及新增功能或內容。 隨著使用者的需求相應增加,版本控制可協助小組一起合作並準時出貨。

Team Foundation 版本控制

TFVC 是集中式版本控制系統。 一般而言,小組成員在其開發計算機上只有一個檔案版本。 歷程記錄資料只會保留在伺服器上。 分支以路徑為基礎,並建立於伺服器上。

TFVC 可讓您套用 細微的許可權 ,並將存取限制為檔案層級。 因為您的小組會檢查其所有工作至 Azure DevOps Server,因此您可以輕鬆地稽核變更,並識別在變更集中簽入的使用者。 藉由使用 比較注,您可以識別它們所做的確切變更。

快速入門

開始建立專案、設定工作區,以及檢閱和共用程序代碼。 您可以使用下列任一用戶端或 IDE:

逐步教學課程

瞭解使用下列教學課程在 TFVC 中工作的基本概念,其說明使用 Visual Studio 和 TFVC 的 DevOps 開發人員生活中的一天。

您想要做什麼事?

  • 設定您的開發電腦並開始使用

    花幾分鐘的時間設定您的開發計算機,以充分利用版本控制程式代碼基底的所有優點。

  • 選擇您的工作流程模型 - 伺服器或本機工作區

    • 伺服器工作區 - 在變更之前,小組成員公開地簽出檔案。 大部分作業要求開發人員連線到伺服器。 此系統有助於鎖定工作流程。 其他以這種方式運作的系統包括 Visual Source 保管庫、Perforce 和 CVS。 使用伺服器工作區,您可以相應增加至非常大的程式代碼基底,每個分支和大型二進位檔有數百萬個檔案。

    • 本機工作區 - 每個小組成員都會使用最新版本的程式代碼基底複本,並視需要脫機運作。 開發人員簽入變更並在必要時解決衝突。 以這種方式運作的另一個系統是 Subversion。

  • 在版本控制的程式代碼基底中開發您的應用程式

    在大部分情況下,您不需要考慮版本控制。 當您需要管理和了解變更時,系統支援您。

  • 暫停您的工作

    有時候,您需要擱置一些或所有您正在做的事情。 您的版本控制系統可以消除一些痛苦,並減少中斷所浪費的時間。

  • 將您的工作貢獻給小組

    簽入您的變更,讓您的小組可以建置、測試及釋放您所建立的值。

  • 隔離風險

    使用分支和鎖定來隔離不同小組所完成工作帶來的風險。

  • 檢視及管理過去的版本

    版本控制系統的其中一個優點是您可以及時回顧,以取得檔案變更的詳細資訊。

  • 比較資料夾和檔案

    您可以比較伺服器資料夾和本機資料夾彼此,並檢視每個資料夾內容之間的差異。

  • 解決 Team Foundation 版本控制衝突

    使用版本控制的優點是,有數個人可以在檔案上同時工作。 其中一個缺點是,有時候您必須解決衝突。 雖然遇到衝突可能會令人沮喪,但系統會提供資訊和工具來協助您了解和解決衝突。

  • 使用版本控制鎖定

    當您需要防止檔案或資料夾取出和變更時,您可以加以鎖定。

僅適用於 tf 命令行的作業

下表列出您只能使用 tf 命令列工具在命令提示字元中執行的 TFVC 工作。

Task Command
刪除其他使用者的工作區。 workspace/delete搭配 選項
復原其他用戶的簽出。 undo
拿掉其他用戶的鎖定。 lock
定義標籤範圍。 label
執行無基底合併。 merge
永久終結內容。 destroy
復原一或多個變更集的效果。 rollback