从On Premisis源代码管理迁移到云

时间:2018-10-26 07:21:50

标签: git tfs visual-studio-2017 azure-devops

我有一个Visual Studio 2017项目,该项目受本地TFS服务器中的源代码控制。我现在想将其移至Azure DevOps环境。我知道我可以将git文件和文件夹以外的所有代码简单地复制到新位置,然后从头开始添加到Source Control中。但是有了这种解决方案,所有的历史都将丢失。

Azure DevOps确实具有从另一个源代码控制项目中导入项目的功能,但是由于我当前的TFS服务器位于内部,因此它不会暴露在外界中,因此这对我来说不是一个选择。

所以我的问题是:是否可以从一个存储库分离并添加到新存储库?

1 个答案:

答案 0 :(得分:0)

要将所有分支和历史记录从一个存储库移至另一个存储库:

  1. 在Azure DevOps项目中创建一个空的存储库
  2. 使用git clone --mirror $URL克隆当前的存储库(从TFS)
  3. 添加指向您的Azure DevOps存储库的新远程对象
  4. 推送到新的遥控器

当前手册页如何解释--mirror:

  

与--bare相比,-mirror不仅会映射--bare的本地分支   源到目标的本地分支,它将所有引用(包括   远程跟踪分支机构,注释等)并设置refspec   配置,以便所有这些引用都被git remote覆盖   在目标存储库中更新。