繁体   English   中英

更改 git-tfs 存储库的默认远程

[英]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。

  1. 修改 git commit 并替换元数据中的 url(看起来像这样: git-tfs-id: [https://tfs.codeplex.com:443/tfs/TFS16]$/vtccds/trunk;C26497 )指向到新的 TFS。

  2. 创建原始.git/config文件的备份:

     cp .git/config .git/config.bak
  3. 删除.git/config文件中的所有[tfs-remote]设置。

  4. 只需从命令行执行正常的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM