将一些项目从用户帐户移动到另一个帐户

问题描述 投票:2回答:2

我要改变我的工作公司,但我会继续研究相同的项目。我有一些关于Azure DevOps和Git的项目,还有一个关于TFVC的项目。我使用了Visual Studio上集成的这些源代码控制工具,我从未使用过控制台命令。

我希望将源代码“复制”一些项目(不是所有项目)的所有更改,从一个帐户到另一个帐户。如果可以将TFVC迁移到Git。我该怎么做?

git tfs azure-devops migration tfvc
2个回答
1
投票

首先,使用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


3
投票

TFVC

众所周知,TFVC很难从一台服务器迁移到另一台服务器。有一些工具可以帮助,但TFVC-> TFVC很难做对。由于您可以在TFVC中执行Git中无法实现的功能,因此并不总是可以继续**所有*历史记录和**所有*分支。但总的来说,它足以将主分支转移到一些历史记录中。

有了这个警告,幸运的是,TFVC-> Git要容易得多。从当前的Azure DevOps帐户中,选择“导入存储库”选项:

enter image description here

您可以指定要导入的单个分支,最多可包含180天的历史记录。对于大多数绰绰有余的项目。使用此路由无法导入多个分支,因此,如果您有正在进行的项目,则需要先将您的工作集成到一个分支中。

enter image description here

这会将您的TFVC分支转换为Git存储库。您可以多次执行此操作,以便导入不同的分支和不同的TFVC存储库,直到您的所有工作都在Git中。

将Git存储库从一个系统移动到另一个系统有多种方法,但由于您使用的是Azure DevOps,因此可以使用相同的Import Repository选项让Azure Repos将旧帐户中的数据直接导入新帐户。

首先,您需要创建一个新的目标帐户(如果有的话,还可以使用现有的个人帐户)。然后使用相同的Import Repository选项,但这次是从您的新帐户。

enter image description here

输入要移动的存储库的克隆URL,并提供您的Git凭据或个人访问令牌:

enter image description here

这将自动将您的所有代码,分支,标签等引入您的目标帐户和新的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,您可以使用工具将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
© www.soinside.com 2019 - 2024. All rights reserved.