【问题标题】:GitKraken won't let me clone from a private repo on GitHubGitKraken 不允许我从 GitHub 上的私人仓库克隆
【发布时间】:2017-06-16 03:55:36
【问题描述】:

我尝试在 GitHub 上克隆一个私人仓库(我有权访问)并收到以下消息:

克隆失败

无法连接到“原点”。仔细检查您的远程网址,然后确保您有权在该远程上执行该操作,然后重试。

我运行 Windows 10,我已将 Kraken 连接到 GitHub,并且 ssh 密钥工作,我可以将存储库推送和拉取到我的其他公开的 GitHub 存储库。 我也能够从命令行克隆 repo 就好了。

【问题讨论】:

    标签: gitkraken


    【解决方案1】:

    出于某种原因,GitKraken 不使用您现有的 HTTPS 凭据与 GitHub 通信,也不在 Windows 上使用 SSH。相反,它使用 OAuth2,这意味着您需要授予 OAuth2 对 GitKraken 的访问权限。

    https://support.gitkraken.com/integrations/github
    如果“添加远程”或“克隆”中没有出现远程或存储库,可能的原因是组织需要允许访问。除非组织明确授予 GitKraken 作为应用程序的权限,否则 GitKraken 在克隆或添加分叉时无法看到这些存储库。

    1. 首先检查是否允许从GitHub Applications 访问 GitKraken
    2. 如果已允许访问,则组织需要允许Organization Approval
    3. 第三方应用限制详情查看Third-party apps list

    这些是我采取的步骤,它们对我有用:

    1. 您需要成为 GitHub 组织的管理员。
    2. 访问 GitHub GitKraken 应用页面并请求访问:

    3. 批准您刚刚请求的访问权限:

      1. 访问此页面:https://github.com/organizations/YOUR_ORG_NAME/settings/oauth_application_policy
        • 您也可以通过 GitHub 设置 > “组织设置” > “第三方访问”来访问该页面
      2. 此页面如下所示:
      3. 不是与您的“个人设置”>“授权应用程序”页面 (https://github.com/settings/applications) 相同的页面
      4. 您应该会看到 GitKraken 列为请求权限。
      5. 单击“批准”链接授予其访问权限。
    4. GitKraken 现在应该可以工作了。

    但是,根据我的经验,我不能可靠地看到请求列表中列出的 GitKraken 请求。我已联系 GitKraken 支持寻求帮助。

    【讨论】:

    • 他们可能不会默认启用此功能,因为他们希望您为使用 Github Enterprise 帐户付费。
    • @LouysPatriceBessette OP (stackoverflow.com/users/7491863/flettl2) 在 2017 年发布了这个问题,并且再也没有回来,所以在他们将其标记为已接受之前,它将永远不被接受。
    【解决方案2】:

    您可以使用“GitHub Enterprise”配置代替“GitHub.com”配置:

    • 只需输入“GitHub.com”作为 GitHub 企业服务器的域。
    • 生成个人访问令牌。

    这将适用于您有权访问的所有存储库,即使该组织没有选择允许 OAuth 2 应用程序访问它们,并且无论您使用的是哪个版本的 GitKraken(即您不使用)它都适用不需要“专业版”)。

    【讨论】:

    • 是的,仅适用于专业版,但绝对适合我。谢谢!
    • 谢谢!这节省了我的一天! (就我而言,我可以克隆但无法获取或推送。)
    • 在 Gitkraken 中,您将被发送到 github。将生成的 PAT 复制到 Gitkraken 的文本框中,然后单击 Connect。那么您可以期望与回购进行交互。我也在使用专业版
    【解决方案3】:

    我有同样的问题。我通过在 GitKraken 中断开我的 GitHub.com 帐户来解决。然后,当我试图克隆一个组织的私有仓库时,GitKraken 询问了我的用户名和密码。回购成功。

    【讨论】:

    • 这对我有用。因此,您不必要求您的组织授予对 GitKraken 的访问权限。
    • 这仅适用于您在组织中的情况。如果您连接到另一个组织的私有仓库,这仍然被阻止。
    【解决方案4】:

    以上答案都是正确的,如果您想充分利用 GitKraken 的功能,授予对您的 Github 组织的访问权限仍然是推荐的方法,但是如果您的组织管理员不能或不会授予访问权限, Gitkraken 也支持 SSH 密钥。

    如果远程的 URL 是 SSH url(以 ssh: 开头),它只会在现有存储库上使用它们,并且如果您允许它生成自己的 SSH 密钥,它只会通过 SSH 克隆。转到Preferences > authentication > Github,它应该能够克隆您有权访问的任何仓库。

    【讨论】:

    • 只有当您是相关私人回购组织的一部分时,答案的后半部分才是正确的。
    猜你喜欢
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 2020-06-17
    • 2011-04-16
    • 1970-01-01
    • 2012-12-11
    相关资源
    最近更新 更多