更改 git-tfs 存储库的默认远程
Change default remote for git-tfs repository
我正在使用 git-tfs 桥接客户的本地 TFS 服务器。昨天他们将安装迁移到新版本 + 更改了服务器的 URL,将所有历史记录和工作项迁移到新实例。
有没有办法将我现有的 git 存储库重新映射到新的默认远程?
我尝试手动编辑 [tfs-remote "default"][= 的 url 属性 22=] 所以它指向新地址和 运行 每个可能的 cleanup*
命令。然而,在 fetch 尝试中,有一个引导过程将新的 tfs-remote 与旧的 URL 添加到配置文件中。
您有 2 个解决方案:
first,应该是比较容易的。但是,因为 git-tfs 自实施以来已经发展了很多,我不知道它是否仍然有效,即使它应该...
其次,这肯定会起作用,就是更新与从旧 TFS 获取的最后一个变更集相对应的提交的元数据。当在 gitconfig
文件中找到 none 时,git-tfs 使用它来 bootstrap 新的 tfs-remote。
修改 git 提交并替换元数据中的 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 的回答...我要补充一点,如果您使用多个分支,则需要更新每个分支的配置条目并添加
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 接受这些分支的签入。
我正在使用 git-tfs 桥接客户的本地 TFS 服务器。昨天他们将安装迁移到新版本 + 更改了服务器的 URL,将所有历史记录和工作项迁移到新实例。
有没有办法将我现有的 git 存储库重新映射到新的默认远程?
我尝试手动编辑 [tfs-remote "default"][= 的 url 属性 22=] 所以它指向新地址和 运行 每个可能的 cleanup*
命令。然而,在 fetch 尝试中,有一个引导过程将新的 tfs-remote 与旧的 URL 添加到配置文件中。
您有 2 个解决方案:
first,应该是比较容易的。但是,因为 git-tfs 自实施以来已经发展了很多,我不知道它是否仍然有效,即使它应该...
其次,这肯定会起作用,就是更新与从旧 TFS 获取的最后一个变更集相对应的提交的元数据。当在
gitconfig
文件中找到 none 时,git-tfs 使用它来 bootstrap 新的 tfs-remote。
修改 git 提交并替换元数据中的 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 的回答...我要补充一点,如果您使用多个分支,则需要更新每个分支的配置条目并添加
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 接受这些分支的签入。