无法从SourceTree克隆GitHub上的私有仓库

38
类似问题描述在这里,但我的症状有些不同,那里的步骤似乎都不起作用。而这里的建议也不行。
我试图使用SourceTree克隆一个属于Github组织的私有repo,我是该组织的一员,有完全的查看和提交权限,在登录时可以在线看到它,而且我可以用命令行或Github桌面应用程序轻松地进行克隆。但在SourceTree中却总是失败。
此外,这并不是错误的凭据或其他任何问题,因为我可以使用我的Github凭据在SourceTree中克隆、提交和推送到其他非私有repo上。
在"Clone a Repository"对话框中,我输入源URL,看起来像这样:
https://github.com/MyOrgName/reponame.git

我将离开该字段,它将填充目标路径和名称字段,但是在对话框底部有一个黄色感叹号,其中包含以下错误信息:

This is not a valid source path / URL
如果我点击错误提示,它会弹出“详细信息”对话框,其中列出了以下内容(由于某种原因重复了两次):
remote: Repository not found.
fatal: repository 'https://github.com/MyOrgName/reponame.git/' not found
remote: Repository not found.
fatal: repository 'https://github.com/MyOrgName/reponame.git/' not found

我也尝试过通过将我的用户名添加到URL中,就像这样:

https://myusername@github.com/MyOrgName/reponame.git

不过那里也没什么运气。


答案在这里:https://dev59.com/M2Ij5IYBdhLWcg3wBA25#20727233 - rbinsztock
可能是在克隆GitHub存储库时使用SourceTree的问题的重复问题。 - rbinsztock
我遇到了完全相同的问题。你找到解决方案了吗? - Pointi
我在使用SourceTree时遇到了多次问题,最终我已经放弃并停止使用它。这里的最佳答案也不起作用,可能是因为我使用的是Windows或者版本过新,我也不确定。ST妨碍了GIT工作流程,而不是帮助,我已经受够了。我开始使用集成在我的IDE(VS2019)中的GIT,因为它可靠而且ST不行。虽然ST的用户界面更好,但它浪费了我太多的时间,所以放弃它真是可惜。 - Rory McCrossan
你必须在 GitHub 上授权应用程序。 - sawacrow
4个回答

94
这是因为在认证时,Sourcetree 没有得到Github的一些私有访问权限所致。所以解决方案非常简单。
  1. 在任何浏览器中登录您的Github帐户。

  2. 从右上角选择 SETTINGS

  3. 现在选择DEVELOPER SETTINGS

  4. DEVELOPER SETTINGS中选择PERSONAL ACCESS TOKEN

  5. 现在从PERSONAL ACCESS TOKEN中选择GENERATE TOKEN

  6. Note填写为Sourcetree,并从复选框中选择所有范围,如下面的屏幕截图所示。

  7. 点击Generate Tokenenter image description here

  8. 现在打开Sourcetree

  9. Tools菜单中点击Options,然后点击add Account。

  10. 按照下面的屏幕截图所示选择选项。

    enter image description here
  11. 将用户名设置为您的Github帐户用户名,将密码设置为来自Github的Generated Token

  • 现在点击保存,你可能会看到所有的仓库都是可见的,可以进行克隆。

  • 希望这有所帮助。


    我正在寻找确切的东西。谢谢。 - huykon225
    1
    在按照上述步骤操作后,不要忘记将您的用户名添加到git url中,例如 --> myusername@github.com/MyOrgName/reponame.git - Shubhendra Singh
    1
    谢谢,老兄,除了你的解决方案,其他都没用。 - Zulqurnain Jutt
    1
    只是想补充一点,我对两个部分感到困惑,不知道是添加上方的还是下方的。 正确的做法是使用截图的上半部分。 - Nikhil Bhawsar
    2
    对我来说没问题 --> 使用以上12个步骤添加了帐户 对于克隆URL https://username@github.com/orgname/project.git - vipulkumarmehta
    显示剩余7条评论

    5

    我曾经遇到过同样的问题。我的解决方法如下:

    1. 从SourceTree设置中删除用户(可选,我不确定是否必须);

    2. 在设置中添加您的帐户并生成新的SSH密钥(这是解决问题的主要部分);

    3. 克隆您的存储库;

    4. 如果SourceTree仍无法克隆存储库,则可以尝试从SourceTree主页面选择外部存储库进行克隆。


    谢谢您的建议,但在我的情况下似乎没有起作用。目前,我正在使用GitHub桌面应用程序来克隆这个案例。 - spacemanjosh
    1
    转到 工具 > 选项 > 认证 > 帐户 > 将帐户设置为默认。在我的情况下,我有多个帐户。大多数时候我只需要我的个人帐户。通过更新它,问题得到了解决。 - vyeluri5

    1
    我通过使用SSH克隆远程私有仓库来解决了这个问题。

    0

    我在尝试在新的Mac电脑上设置SourceTree时遇到了这个问题,我非常沮丧地花了一整天的时间来找出问题所在。

    我可以从SourceTree的帐户页面连接到我的Github帐户, 如果我尝试ssh -T git@github.com,我也已经通过身份验证,但每次我尝试从SourceTree克隆存储库时,都会收到错误消息:这不是有效的源路径/ URL

    此外,每次SourceTree尝试刷新远程存储库时,我都会收到错误消息:操作无法完成。(com.google.GTMOAuth2错误-1001。),然后它提示我重新登录,最终陷入循环。

    对我最终起作用的是将SourceTree配置从使用嵌入式git更改为使用系统git

    这可能不是每个人的解决方案,但对我有效。

    您可以在“设置”->“Git”->“Git版本”中找到该选项(按下标有标签的按钮使用系统Git)。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接