在我们整个公司,我们是第一个尝试这个的。
我们正在尝试将 代码从 TFS 获取到 Azure DevOps。
以下是TFS详细信息
TFS Server: companyTFS
TFS Project Collection: TechTeam.
TFS Project name: Main.
TFS Branch : Dev
现在我正在尝试将代码从 TFS 获取到 Azure DevOps 中。 我们可以将 TFS 文件夹中的代码复制到 Azure DevOps 文件夹中,但我们不想丢失 TFS 历史记录。
如下所述,我安装了 Chocolatey,还安装了 gittfs。
https://blog.rsuter.com/migrate-a-tfs-repository-to-a-vsts-git-repository
当我发出以下命令时
git tfs clone http://companyTFS:8080/TechTeam/Main $/Main/Dev/Registration/FeeDetails . –ignore-branches –debug
我遇到了异常。
TF31002: Unable to connect to this Team Foundation Server: http://companyTFS:8080/TechTeam/Main.
Team Foundation Server Url: http://companyTFS:8080/TechTeam/Main.
Possible reasons for failure include:
- The name, port number, or protocol for the Team Foundation Server is incorrect.
- The Team Foundation Server is offline.
- The password has expired or is incorrect.
Technical information (for administrator):
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
我也尝试过这个但没有成功。
https://github.com/microsoft/azure-repos-vscode/issues/320#issuecomment-335573266
我正在尝试了解我的 TFS 服务器是否可以与外部组件进行握手。
如果有人能告诉我我做错了什么,我会很高兴。
终于花了近 4 天的时间,我能够将代码连同历史记录一起从 TFS 移动到 Azure DevOps 中。请参阅下面我所做的所有步骤。
安装巧克力:
首先我们需要安装Chocolatey。为了简单起见,我在同一文件夹中创建了以下两个文件。 文件名:installChocolatey.cmd
内容:
@echo off
SET DIR=%~dp0%
%systemroot%\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& '%DIR%install.ps1' %*"
SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
文件名:install.ps1
内容:从此处复制粘贴内容https://chocolatey.org/install.ps1
在管理模式下打开命令提示符并运行 installChocolatey.cmd 来安装 Chocolatey。
在命令提示符下输入
choco -v
查看是否安装正确。
安装git tfs:
接下来,我们需要安装 git tfs 工具,以便在命令提示符中给出以下命令并按照说明进行操作。
choco install gittfs
在我的例子中,它安装到 C:\Tools\gittfs。
打开环境变量并确保将以下内容(在我的例子中)添加到 PATH 变量。
C:\工具\gittfs
在命令提示符下输入 git tfs -version 查看安装的版本。
将代码从 TFS 移至 Azure DevOps:
Azure DevOps Project Name: Experiment
Azure DevOps Repo Name: MyRepo
Azure DevOps Repo Name: Master and DEV
首先,我将此存储库克隆到本地。确保我已将所有远程分支转移到本地分支。
在我的本地创建了一个名为 TestBranch 的新分支并将其推送到远程。所以现在 MyRepo 有 3 个分支,TestBranch 是我本地的工作分支。
在命令提示符中,我转到映射 Azure DevOps 存储库的文件夹。我给出了以下命令来获取带有历史记录的 TFS 代码。
git tfs clone http://companyTFS:8080/TechTeam $/Main/Dev/Registration/FeeDetails . –debug
这将需要一些时间,之后您可以看到 TFS 代码已下载到该文件夹。
在同一命令提示符下,
给出以下命令来确定您的工作分支是什么
git branch
下面的命令将创建一个分支
git checkout -b TempBranch
对于以下命令,获取目标 Azure DevOps 存储库的 url。
以下命令会将您的远程 Azure DevOps Repo 设置为您想要定位的 Repo
git remote add origin https://[email protected]/xxx/Experiment/_git/MyRepo
下面将在 ADO 的目标存储库中创建名为 TempBranch 的新分支。在实验项目和 MyRepo 存储库中
git push --set-upstream origin TempBranch
现在,TFS 中的所有代码和历史记录都已进入 Azure DevOps 并进入您的存储库。您可以使用 PULL Request 功能合并到其他分支等等。
现在假设您希望 Azure DevOps 代码结构有所不同。
转到您从 TFS 下载代码/历史记录的文件夹,然后创建文件夹结构或更改您想要的方式
一一给出以下命令。
git add .
要查看所有更改,请输入以下命令
git status
在本地提交所有更改
git commit -m "[commit message goes here]"
将更改从本地推送到远程的命令 git 推送
代码将位于实验项目MyRepo repo TempBranch分支中
您好,谢谢您的详细步骤。我确实遵循了所有步骤,但最终再次出现此错误 - 网址是:https://XXXXX.com/yyy/FXX/CFG 我收到以下错误 - 忽略 C:\Program Files (x86)\Microsoft Visual Studio�9\BuildTools 中不完整的 Visual Studio 版本 在 C:\Program Files (x86)\Microsoft Visual Studio�9\Community 中找到匹配的 Visual Studio 版本 在 F:/Personal/GIT TFS/Manager/v.1.0/Release3/src/XerviLoan-DEV_Branch/.git/
中初始化空 Git 存储库TF31002:无法连接到此 Azure DevOps 服务器:https://tfs.acsgs.com/tfs/FSG/CFS。 Azure DevOps 服务器网址:https://XXXXX.com/yyy/FXX/CFG,
失败的可能原因包括:
技术信息(管理员): 远程服务器返回错误:(404) 未找到。 远程服务器返回错误:(404) 未找到。 所有日志都可以在日志文件中找到:C:\Users\user\AppData\Local\git-tfs\git-tfs_log.txt
我在 DevOps 社区联系了 Microsoft,他们要求我在这里与您联系。 你能帮忙吗?