[英]Change default remote for git-tfs repository
我正在使用 git-tfs 橋與客戶的本地 TFS 服務器進行工作。 昨天,他們將安裝遷移到新版本 + 更改了服務器的 URL,將所有歷史記錄和工作項遷移到新實例。
有沒有辦法將我現有的 git 存儲庫重新映射到新的默認遠程?
我嘗試手動編輯[tfs-remote "default"]的url屬性,使其指向新地址並運行所有可能的cleanup*
命令。 但是,在fetch嘗試中,有一個引導過程將帶有舊 URL 的新tfs-remote添加到配置文件中。
你有2個解決方案:
第一個,應該更容易。 但是,因為 git-tfs 自實施以來已經發展了很多,我不知道它是否仍然有效,即使它應該......
其次,這肯定會起作用,是更新與從舊 TFS 獲取的最后一個變更集相對應的提交的元數據。 當gitconfig
文件中沒有找到時,git-tfs 使用它來引導新的 tfs-remote。
修改 git commit 並替換元數據中的 url(看起來像這樣: git-tfs-id: [https://tfs.codeplex.com:443/tfs/TFS16]$/vtccds/trunk;C26497
)指向到新的 TFS。
創建原始.git/config
文件的備份:
cp .git/config .git/config.bak
刪除.git/config
文件中的所有[tfs-remote]
設置。
只需從命令行執行正常的git tfs fetch
。
感謝 Philippe 的回答...我想補充一點,如果您使用 severl 分支,則需要更新每個分支的配置條目並添加一個
legacy-urls = http://old-url:8080/tfs/Projects
對於每一個,比如
[tfs-remote "Project/branch/..."]
url = http://newurl:8080/tfs/Projects
repository = ....
legacy-urls = http://old-url:8080/tfs/Projects
這將允許 git-tfs 接受這些分支的簽入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.