瞭解 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 存放庫。
建立存放庫之後,您會看到快速開始使用的逐步指示。
按兩下 指令頁面結尾的 [建立自述檔 ],提供存放庫內容並建立一些歷程記錄。
建立工作區並取得最新
第一次連線到 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
藉由新增檔案來進行變更
類似於 TFVC 體驗,工作資料夾中的新檔案不會自動屬於存放庫。 您可以使用 命令暫存新檔案 git add
,這與在 TFVC 中執行 add Items to Folder
作業同義。
git add <file>
或
git add --all
使用預先製作範例,您將有13個新檔案已包含在本機存放庫中並暫存。
檢視擱置的變更
想知道現在在您的工作環境中有哪些變更? 如同先前,Visual Studio IDE 中的 Git status
命令或 Changes
檢視會顯示工作樹狀結構中的變更。
git status
在本機簽入變更並認可
在 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 log
列出作者、電子郵件、撰寫日期,以及認可SHA-1總和檢查碼。 身為 TFVC 使用者,您可能想要使用 --stat
選項來包含詳細資訊,例如檔名和變更統計數據。
您也可以使用 Azure DevOps Services 入口網站來檢視集中式存放庫的歷程記錄。
在 Azure DevOps Services 入口網站中,選擇 [程式代碼歷程記錄] 或 [程式>代碼總管>歷程記錄]>
此時,您已根據一般 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 使用者有更多動作和選項可供使用。 以下是一些實用的參考網站,可供進一步閱讀:
- 這裡涵蓋的 Git 命令,請參閱 git 檔
- 想想 (a) Git,這是令人困惑的指南。
- 如何用 Git 復原任何專案,由約書亞·溫納
Q&A
同步處理呢?
「Visual Studio IDE Commit and Sync
沒有神奇地執行這一切嗎?」,您可能會問自己。
選取 [Git>認可] 或 [隱藏] 以開啟 [Git 變更]。 選取 [全部認可] 下拉功能表,然後選取 [全部認可] 和 [同步]。
或者,在Team Explorer中,選取 [認可] 下拉功能表,然後選取 [命令和同步]。
魔術是責任! 許多使用者不喜歡 , sync
因為它有時可能會弄亂您的本機歷程記錄,並在您目前的認可之上新增合併認可。 一旦處於不良狀態,您必須還原為命令行,因為 IDE 目前沒有重設支援。
作者:Jesse Houwing、Martin Hinshelwood、Mike Fourie 和 Willy Schaub from the ALM |DevOps Rangers。 在這裡與他們連線。
(c) 2015年Microsoft公司。 著作權所有,並保留一切權利。 本文件提供「as-is」。本文件中的資訊以及表達的觀點 (包括 URL 及其他網路網站參考) 如有變更,恕不另行通知。 您必須承擔使用本文件的風險。
本文件不提供您任何 Microsoft 產品之任何智慧財產權的任何法律權利。 您可以複製和使用本文件,以參考為目的供內部使用。