如何创建VSTS Git仓库的远程副本(非本地克隆)
不用本地克隆,复制VSTS Git仓库到新远程仓库的方法
嘿,我来帮你搞定这个需求!不用克隆本地副本的话,有两种实用的方法可以直接把现有VSTS(现在正式名称是Azure DevOps)Git仓库完整复制到新的远程仓库:
方法一:Git镜像推送(支持所有Git服务,无本地工作目录)
这种方法用Git的裸仓库来中转,不会生成本地工作文件,完全符合你不想克隆完整本地副本的要求:
- 创建目标仓库:先在你想要的Git服务(Azure DevOps、GitHub、GitLab等)上创建一个全新的空仓库,记下它的Git远程URL。
- 创建临时裸仓库:打开终端,执行以下命令拉取原仓库的镜像(裸仓库只有Git元数据,没有工作目录):
git clone --bare <原VSTS仓库的Git URL> - 推送镜像到目标仓库:进入刚创建的裸仓库目录,然后用镜像推送命令把所有分支、标签、提交历史同步到新仓库:
cd <原仓库名称>.git git push --mirror <目标仓库的Git URL> - 清理临时文件:完成推送后,你可以删掉这个临时的裸仓库目录,因为它已经没用了。
方法二:Azure DevOps原生导入功能(仅适用于目标仓库也是Azure DevOps的情况)
如果你的目标仓库也是在Azure DevOps里,那用官方的导入功能最省心,全程网页操作,连命令行都不用:
- 创建空目标仓库:登录Azure DevOps组织,新建一个Git仓库,注意不要勾选“添加README文件”“添加.gitignore”等选项,保持仓库完全为空。
- 启动导入流程:进入新仓库的主页,点击右上角的导入按钮(在“代码”选项卡下很容易找到)。
- 配置导入参数:在导入界面,填入原VSTS仓库的Git URL,如果原仓库是私有仓库,需要输入对应的凭据(用户名+个人访问令牌/PAT)。
- 等待完成:点击导入按钮,Azure DevOps会自动帮你复制所有分支、标签和完整的提交历史,全程不需要你操作本地文件。
两种方法都能完整复制仓库的所有内容,你可以根据目标仓库的位置选择合适的方式~
内容的提问来源于stack exchange,提问作者Atul Sureka
相关产品推荐
相关产品推荐

