有別於 Azure Pipeline 搬移過程中具有相依性,Azure Repos 搬移是可以最早搬移而不需要有所顧慮的工作。若使用者的儲存庫為 Git Repository,其實只需要透過 Git 指令即可完整搬移。另一方面,Azure Repos 也提供 import 功能,無論使用者儲存庫在 Azure DevOps(不同組織)、GitHub 或其他私有儲存庫,皆可以透過設定方式將儲存庫複製過來。
Git 指令有所謂鏡像儲存庫 (Mirror the repository) 功能,可以將遠端所有分支與屬性下載自本地端,透過命令提示字元輸入下列指令即可:
使用 Git Clone 是設定遠端資訊最安全也最容易的方式,避免在操作過程中設定錯誤的遠端
git clone --mirror https://xxxxxxx.visualstudio.com/Old-Project/_git/WikiDemo
接下來我們將執行 Git 推送指令,將本地端所有變更推送至遠端儲存庫
git push --mirror https://xxxxxxx.visualstudio.com/New-Project/_git/WikiDemo
--mirror 參數在 Clone 和 Push 命令一起使用。 此參數確保所有分支和其他屬性皆複製到新的儲存庫。
另一個方式是透過 UI 介面匯入外部儲存庫,在目標專案點選 Repos,點選上方儲存庫名稱後,選擇 Import Repository,輸入 Git URL 與驗證資訊後,即可匯入儲存庫。
很多開發人員會認為搬移後就可以立即開始開發工作,卻忘了最後一個驗證動作 - 他們仍在舊有儲存庫工作而渾然不知,而到後期才發現推送至錯誤儲存庫,進而花不少時間進行修復。搬移後最重要的事情,即是在目標專案驗證儲存庫是否存在,並確定每位開發人員已經將遠端設定更新至新的儲存庫位置。可以透過下列指令設定新的遠端位置
git remote set-url origin https://xxxxxxx.visualstudio.com/New-Project/_git/WikiDemo
最後可以建議在來源專案的儲存庫做刪除 (必須非常小心,因為不能還原) 或透過鎖定分支的方式,避免開發人員持續更新舊有儲存庫。
除此之外,平台管理者仍需要去做相關設定確認,確認與原來儲存庫設定相同