共用方式為


瞭解 Team Foundation 版本控制 (TFVC) 命令如何對應至 Git 工作流程

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

Visual Studio 2019 |Visual Studio 2022

您是否打算採用 Git、熟悉 TFVC 動作,以及想知道它們如何對應至 Git? 兩者都是強大且成熟的原始檔控制系統。 不過,將您已習慣的常見動作對應到另一個動作可能是令人困惑的體驗。

本文不會深入探討 Git 命令,因為其記載於產品檔中,但示範範例可協助您做出正確的決策,同時流覽一般建立 -> 複製 -> 分支> - 變更 -> 認可 -> 推送 工作流程

從建立新的存放庫開始

每個專案都可以在相同的項目中裝載 TFVC 和 Git 存放庫、建立一個 TFVC 和一或多個 Git 存放庫。

在 Azure Repos 中建立新的 Git 存放庫

建立存放庫之後,您會看到快速開始使用的逐步指示。

開始使用 Azure Repos 中的新 Git 存放庫

按兩下 指令頁面結尾的 [建立自述檔 ],提供存放庫內容並建立一些歷程記錄。

建立自述檔以在 Azure Repos 中初始化新的 Git 存放庫

建立工作區並取得最新

第一次連線到 TFVC 存放庫時,您通常會建立工作區並取得最新的程式代碼。 那麼,您如何開始使用 Git?

類似於 TFVC 中的工作區,您會 clone 將 Git 存放庫儲存至您電腦上的資料夾。 複製會將存放庫的所有內容和歷程記錄下載到本機計算機。 一旦您擁有複製的存放庫,幾乎所有作業都會在本機執行。 您可以使用集中式存放庫的完整備份離線工作。

git clone https://dev.azure.com/demo-fabrikam/Fabrikam/_git/Mapping-TFVC-actions-to-Git

您只需要每個存放庫複製一次,但就像 TFVC 工作區一樣,您可以有多個複製品來隔離進行中的工作。 不過,分支通常是隔離變更的較好方式。

建立分支

使用 Git 時,您一律會在分支中工作,而且預設會在分支中main 工作。 建議您建立多個本機分支。 這是一個程式,需要幾秒鐘的時間,並可讓您順暢地在分支之間切換內容,並隔離地工作。 不同於範圍為路徑的 TFVC 分支,Git 分支的範圍是存放庫範圍。 它們為輕量型、僅限本機,或當您準備好共用變更時與其他人共用。

如果您需要隔離工作、需要暫停工作、專注於新功能,或打算執行 Git 提取要求,請考慮分支。

以 TFVC 使用者身分,重複數次:

  • 建議使用分支功能!
  • Git 分支價格 便宜快速強大
  • Git 鼓勵您使用 本機 分支。
  • 視需要將本機分支發佈至集中式存放庫。
  • 在進行變更之前,請務必先確認您的分支內容。
  • 使用一般慣例命名分支,例如 users/alias/branchname,例如:users/doris/newfeature

建立並切換至名為 francis/demo-feature 的本機主題分支。 最好先執行 git status ,以確認您是在正確的分支上開始使用。

git checkout -b francis/demo-feature

從 Windows 命令行建立新的 Git 分支

藉由新增檔案來進行變更

類似於 TFVC 體驗,工作資料夾中的新檔案不會自動屬於存放庫。 您可以使用 命令暫存新檔案 git add ,這與在 TFVC 中執行 add Items to Folder 作業同義。

git add <file>

git add --all

使用預先製作範例,您將有13個新檔案已包含在本機存放庫中並暫存。

檢視擱置的變更

想知道現在在您的工作環境中有哪些變更? 如同先前,Visual Studio IDE 中的 Git status 命令或 Changes 檢視會顯示工作樹狀結構中的變更。

git status

使用 Git 狀態顯示分段變更

在本機簽入變更並認可

在 TFVC 中,您會與 簽到 共用變更,以將暫止的變更傳送至伺服器。 Git 程式有點不同。 首先,您會認可至本機存放庫,建立認可物件(例如變更集),然後將這些變更推送至伺服器。

您可以使用 將變更認可到本機存放庫 git commit,類似於 Checkin Pending Changes TFVC 中的 。 主要差異在於,會將git commit變更認可到本機存放庫,而不是遠端存放庫。

git commit

使用伺服器/遠端存放庫簽入變更

首先,您必須將本機法蘭西斯/示範功能分支發佈至遠端伺服器,其中包含所有認可的變更。

git push --set-upstream origin francis/demo-feature

若要同步處理本機與遠端存放庫的進一步更新,您必須使用 git push推送變更。 使用 git 命令或 Visual Studio IDE 的建議做法是:

  • fetch 以下載內容並預覽來自其他人的傳入變更。
  • pull 表示下載,然後合併其他人的變更。
  • push 表示共用您的本機變更。

檢視記錄

若要查看認可,您剛建立即可檢閱本機歷程記錄。

針對精簡歷程記錄,請使用:

git log --oneline

如需詳細檢視,請使用:

git log

使用 Git 記錄檢閱分支歷程記錄

如上所示, git log 列出作者、電子郵件、撰寫日期,以及認可SHA-1總和檢查碼。 身為 TFVC 使用者,您可能想要使用 --stat 選項來包含詳細資訊,例如檔名和變更統計數據。

您也可以使用 Azure DevOps Services 入口網站來檢視集中式存放庫的歷程記錄。

在 Azure DevOps Services 入口網站中,選擇 [程式代碼歷程記錄] 或 [程式>代碼總管>歷程記錄]>

在 Azure Repos 中檢視分支歷程記錄

此時,您已根據一般 TFVC 動作成功探索建立 -> 複製 -> 分支 -> 變更 -> 認可 -> 推送 工作流程

您也可以選擇發出 提取要求,在此時在伺服器/遠端存放庫上發佈和暫存變更。

其他動作

切換分支

使用 Git 時,您不會切換至電腦上的個別資料夾和位置來變更分支。 您可以藉由執行 checkout來變更內容,讓整個工作目錄符合選取的分支或認可。 快速簡單

命令列

git checkout <branch>

如果您忘記本機存放庫中有哪些分支,請使用 git branch 來列出預設和已知的分支。

請記住,您要處理的分支! 當您在 Git 中使用多個分支時,您會在相同的工作目錄中就地切換分支。 在分支之間切換是一個快速的作業,而且隨時都確定您位於正確的分支是很好的作法。

取得最新版本

有許多理由想要取得更新。 例如,當您需要將內容切換至另一個專案時,請使用最新版本的程式代碼基底重新整理您的開發計算機。

命令列

git pull

git fetch

其次

git merge FETCH_HEAD

一律取得最新版本,並在本機解決合併衝突。

復原本機變更

您可能有理由還原本機存放庫中所做的所有修訂,並將工作環境從遠端存放庫重設為最新版本。

命令列

git reset --hard HEAD

其次

git pull origin

其次

git clean -xdf

此案例與在 TFVC 中使用 和 Overwrite all files if the local version matches the specified version 選項執行 Overwrite writable files that are not checked out Get > Latest Version 同義。

或者,在進行驗證的複本之後,您可以手動刪除本機存放庫,然後 clone 再次刪除存放庫。

Git 使用者有更多動作和選項可供使用。 以下是一些實用的參考網站,可供進一步閱讀:

Q&A

同步處理呢?

Visual Studio IDE Commit and Sync 沒有神奇地執行這一切嗎?」,您可能會問自己。

選取 [Git>認可] 或 [隱藏] 以開啟 [Git 變更]。 選取 [全部認可] 下拉功能表,然後選取 [全部認可] 和 [同步]。

或者,在Team Explorer中,選取 [認可] 下拉功能表,然後選取 [命令和同步]。

在 Team Explorer 中認可和同步處理

魔術是責任! 許多使用者不喜歡 , sync 因為它有時可能會弄亂您的本機歷程記錄,並在您目前的認可之上新增合併認可。 一旦處於不良狀態,您必須還原為命令行,因為 IDE 目前沒有重設支援。

作者:Jesse Houwing、Martin Hinshelwood、Mike Fourie 和 Willy Schaub from the ALM |DevOps Rangers。 在這裡與他們連線

(c) 2015年Microsoft公司。 著作權所有,並保留一切權利。 本文件提供「as-is」。本文件中的資訊以及表達的觀點 (包括 URL 及其他網路網站參考) 如有變更,恕不另行通知。 您必須承擔使用本文件的風險。

本文件不提供您任何 Microsoft 產品之任何智慧財產權的任何法律權利。 您可以複製和使用本文件,以參考為目的供內部使用。