从 GitHub 导入到 Azure DevOps 时“克隆 URL 不正确”

Sig*_*dur 29 import github repository azure-devops

我尝试将 GitHub 存储库导入到 Azure DevOps,但不断收到此错误:

Import request cannot be processed due to one of the following reasons:

Clone URL is incorrect.
Clone URL requires authorization.
Run Code Online (Sandbox Code Playgroud)

这是我的输入参数的截图: 导入错误及输入参数

我对克隆 URL 和身份验证参数进行了两次和三次检查。无论我在字段中输入什么,它总是显示这两个错误。我该如何解决这个问题?

小智 46

当尝试将组织管理的私有 GitHub 存储库全新导入到我的新 Azure DevOps 帐户时,遇到了同样的问题(即使我的帐户是我尝试链接的 GitHub 和 Azure DevOps 配置文件的所有者)。

三个步骤实际上帮助我解决了这个问题:

  1. 通过 Azure DevOps >您的项目> 项目设置 > GitHub 连接链接两个帐户。如果您的 GitHub 存储库存储在组织配置文件中,则必须确保在 Azure DevOps设置连接时授予对此组织的访问权限(在Azure DevOps,您必须按下它才能实际授予访问权限)。就我而言,我错过了它并且连接不起作用(Azure DevOps 在 GitHub 配置文件中找不到任何存储库)。为了解决这个问题,我必须点击 GitHub 自动发送给我的电子邮件中的链接,并在那里授予对 Azure DevOps 的访问权限。然后,在 Github >您的组织> 组织设置 > 第三方访问中,您将能够在列表中看到 Azure DevOps - 如果状态为“已批准”,则可以开始。

  2. 然后,我必须在 GitHub 中为我的个人配置文件(不是组织配置文件)创建一个 PAT,并在我在 Azure DevOps 中导入存储库时使用它而不是密码(非常感谢@Yang Shen,他在上面指出了这一点)。这样,您首先必须转到 Github >您的个人资料> 配置文件设置 > 开发人员设置 > 个人访问令牌并在那里生成新令牌。

  3. 然后我返回到 Azure DevOps >你的项目> Repos > Files > Import,输入: a) 链接到我的私人 Github 存储库;b) 勾选“需要身份验证”;c) 我的 GitHub 用户名;d) 我在上述步骤 2 中生成的 PAT,而不是我的实际密码

然后它就像一个魅力,我的私人 Github 存储库被克隆到 Azure Repos。

  • 设置 PAT 的步骤就是我所需要的。我授予了“repo”和“user”权限,复制了密钥,之后导入就没有问题了。 (5认同)

soh*_*ann 17

我找到了解决方案!

  1. 在您的 GitHub 帐户中,转到右上角的图标,然后单击“设置”

  2. 在左侧边栏中,单击开发者设置

  3. 然后再次在左侧边栏中单击“个人访问令牌”

  4. 单击按钮生成新令牌

  5. 为令牌命名,例如“移动到 Azure”

  6. 将过期时间设置为您移动所需的时间

  7. 在选择范围下,勾选存储库

  8. 单击标有“生成令牌”的绿色按钮

  9. 复制您的令牌(如果您有多个存储库,请将其保存在密码保险箱中)

  10. 在 Azure 中,将其粘贴到“密码/PAT”字段中

  11. 移动所有存储库后,不要忘记从 GitHub 删除您的个人访问令牌

  • 出现此问题的原因是 GitHub 在 2021 年 8 月 31 日禁用了密码身份验证。 (3认同)

小智 10

我刚刚认识到“生成 Git 凭证”可以解决问题!

在您的源存储库中,您必须“生成 Git 凭证” 在此输入图像描述

在您单击“导入”的目标存储库中,使用源中的“克隆 URL”并输入生成 Git 凭据!

  • 这不适合 GitHub 到 Azure DevOps,对吗? (3认同)

Yan*_*SFT 5

我已经Import a Git repository在几种情况下进行了测试:公共或私人 Github 存储库、PAT 中是否有访问权限以及 Github 存储库中是否有文件。

只有在两种情况下我才能重现该问题:

在此输入图像描述

  1. Github repo 中不存在文件,如果 Github repo 中没有任何文件,则似乎https://github.com/****/*****.git无法成功识别该 url。

    在这种情况下,您需要将至少一个文件上传到存储库中,然后 URL 才会被识别。

  2. PAT错误,我们将PAT从一个地方复制到另一个地方,可能会包含意外的字符,例如空格。

    在这种情况下,您需要通过单击输入文本框中的小眼睛图标来检查PAT,删除或添加字符以使其正确。

    在此输入图像描述