我要改变我的工作公司,但我会继续研究相同的项目。我有一些关于Azure DevOps和Git的项目,还有一个关于TFVC的项目。我使用了Visual Studio上集成的这些源代码控制工具,我从未使用过控制台命令。
我希望将源代码“复制”一些项目(不是所有项目)的所有更改,从一个帐户到另一个帐户。如果可以将TFVC迁移到Git。我该怎么做?
首先,使用git-tfs工具将TFVC代码迁移到Git。
当你在Git中的所有代码时,你可以轻松地将代码移动到另一个项目:
1)将存储库克隆到本地文件夹。
2)转到TFS / Azure DevOps并创建一个新的Git存储库。
3)将本地存储库推送到TFS / Azure DevOps存储库。
最好的方法是使用命令行:
1)git clone old-repo-url
2)从TFS / Azure DevOps门户创建新的repo。
3)git remote add origin new-repo-url
git push -u origin --all
众所周知,TFVC很难从一台服务器迁移到另一台服务器。有一些工具可以帮助,但TFVC-> TFVC很难做对。由于您可以在TFVC中执行Git中无法实现的功能,因此并不总是可以继续**所有*历史记录和**所有*分支。但总的来说,它足以将主分支转移到一些历史记录中。
有了这个警告,幸运的是,TFVC-> Git要容易得多。从当前的Azure DevOps帐户中,选择“导入存储库”选项:
您可以指定要导入的单个分支,最多可包含180天的历史记录。对于大多数绰绰有余的项目。使用此路由无法导入多个分支,因此,如果您有正在进行的项目,则需要先将您的工作集成到一个分支中。
这会将您的TFVC分支转换为Git存储库。您可以多次执行此操作,以便导入不同的分支和不同的TFVC存储库,直到您的所有工作都在Git中。
将Git存储库从一个系统移动到另一个系统有多种方法,但由于您使用的是Azure DevOps,因此可以使用相同的Import Repository选项让Azure Repos将旧帐户中的数据直接导入新帐户。
首先,您需要创建一个新的目标帐户(如果有的话,还可以使用现有的个人帐户)。然后使用相同的Import Repository选项,但这次是从您的新帐户。
输入要移动的存储库的克隆URL,并提供您的Git凭据或个人访问令牌:
这将自动将您的所有代码,分支,标签等引入您的目标帐户和新的Git存储库。与Git repos一样多次执行此序列。
您还可以使用命令行执行相同的步骤:
要克隆迁移的repo,请使用新的克隆并指定--mirror
选项:
git clone https://dev.azure.com/{Org}/{Project}/_git/{Repo} --mirror
然后将所有内容推送到新帐户的新的空git存储库中:
git push --mirror https://dev.azure.com/{NewOrg}/{NewProject}/_git/{NewRepo}
对于TFVC,您可以使用工具将TFVC分支导入到具有可选历史记录的git存储库中。 git tfs
允许您执行此类导出:
git tfs clone http://your-tfs-server:8080/tfs/your-collection $/your-tfvc-repo
此过程将需要一些时间将您的更改集导入本地git仓库。然后,您可以将生成的Git存储库推送到新的目标Azure DevOps项目中:
git remote add target https://dev.azure.com/{NewOrg}/{NewProject}/_git/{NewRepo}
git push --all target