在克隆GitHub存储库时,SourceTree出现问题。

41

我知道类似的问题已经在这里发布过了。然而,我认为我的情况有点不同。以下是我的情况。

我下载并安装了最新官方版本的SourceTree软件,并且我有一个GitHub帐户,具有克隆和推送存储库的权限。为了管理本地副本,我需要克隆在线版本。以下是我采取的步骤:

  1. 启动SourceTree并导航至文件 -> 克隆/新建...

  2. 在打开的窗口中,我粘贴HTTPS克隆URL。我从浏览器中登录到GitHub帐户后复制了它,因此链接是正确的。

  3. 下一步是指定一个本地文件夹,用于复制存储库。但是,当我点击进入目标路径时,窗口显示错误:

    This is not a valid source path / URL
    

    点击错误可能会显示以下详细信息:

    remote: Repository not found.
    fatal: repository 'https://github.com/org/repo.git/' not found
    remote: Repository not found.
    fatal: repository 'https://github.com/org/repo.git/' not found
    

    或者详细信息可能为空。SourceTree没有告诉我错误的原因或其他任何内容。

我尝试重新安装SourceTree,但错误仍然存在。我向GitHub存储库的管理员询问了其他权限,但我的帐户拥有所有权限。我能够使用终端控制台将更改推送到在线存储库,但我想使用UI(SourceTree提供)来管理和比较代码中的更改。

我没有尝试的一个方法是使用另一个GitHub帐户克隆存储库。但是,我不想这样做,因为我需要代表自己提交任何更改到存储库。

有人知道如何解决或解决这个错误吗?


以下答案看起来有点旧,所以最新的答案是:https://dev59.com/z1UL5IYBdhLWcg3wf4F0#62145210 - Suresh Maidaragi
31个回答

51
最后,我在Mac上按照以下步骤操作:
Sourcetree->偏好设置->Git->Git版本->使用系统Git

结果成功了…噗!

我在Windows上也有同样的问题。 - Bronek
2
它像魔法一样运行得很好...我在2022年遇到了这个问题。;) - Lucas F. F. Lopes
2
这是在所有解决方案中对我有效的唯一方法(Mac)。 - Corbin Miller
这个问题的MacBook已经通过M2修复了。 - Juan Boero
完美地在Macbook M2 PRO上运行。谢谢。 - undefined

43

在macOS的Sourcetree中,我遇到了同样的问题:

这不是一个有效的源路径/URL。

这不是一个有效的源路径/URL

以下解决方法适用于我:

  1. Sourcetree > 首选项 > 高级
  2. 删除 主机名
  3. 在Sourcetree中再次克隆项目
  4. 会弹出提示; 输入您的git凭据。

就这样,我的问题得到了解决。


@PradeepSingh,请分享您遇到的问题或屏幕截图。 - Vikash Sinha
SourceTree 无法从 GitHub 克隆,但现在我已经自己解决了。感谢您的关注 :) - Pradeep Singh

21

具体的错误信息是(如这里所示):

 This is not a valid source path / URL

Sourcetree错误信息

可能的原因:

  • 代理设置(如此讨论中所述)
  • 在Git禁用的情况下进行设置步骤(如此处

    当我第一次启动SourceTree时,我跳过了向导中设置Git和Mercurial的步骤。然后我重新运行了向导,并选择下载和安装嵌入式软件包。
    但似乎安装它们并没有真正启用它们 - 在工具->选项对话框中,它们都被禁用了!
    启用Mercurial(或在你的情况下是Git)允许克隆对话框正确识别仓库。

  • 凭据问题(如此处所述,来源于我的旧回答

3
谢谢提供参考资料。最终结果表明代理设置和凭据都正确,但是 Git 的嵌入式包已被禁用。真可惜我没有想到检查这种可能性。为了让 SourceTree 工作,我进入「工具」->「选项」->「Git」标签,启用了包。之后我成功地克隆了代码库。感谢您的回答。 - Pavel Pavlov
@PavelPavlov - 结果我也遇到了同样的问题。 - Eric Kigathi

7

我在2021年。之前的答案对我没用。SourceTree有问题(说实话有很多问题),解决办法是使用一个令牌作为密码连接到GitHub。

使用以下网址创建它:https://github.com/settings/tokens 希望这能有所帮助!


5

我在mac中遇到了同样的问题。以下解决方案适用于我:

  1. 按照以下步骤在Github中生成个人访问令牌: 登录Github帐户->设置->开发人员设置->个人访问令牌->生成新令牌->输入令牌名称->生成令牌
  2. Sourcetree > 首选项 > 高级
  3. 删除主机名
  4. 在Sourcetree中再次克隆该项目
  5. 将弹出提示窗口; 输入您的git凭据。 (输入用户名和密码输入新生成的访问令牌) 按照这些步骤后,克隆选项将变为可用状态

5

我在使用Windows 10和SourceTree时遇到了同样的问题。经过一番调研,以下解决方案对我很有效。

步骤如下: 1)进入“工具”->“选项”->“Git”->“启用git支持”

就这样,我的问题得到了解决。祝你编写愉快 :)


这正是我在答案评论中解释的内容 :) - Pavel Pavlov

2
即使尝试了上述所有选项,它对我来说都没有太大作用。
步骤:
1. 禁用 SSL 证书选项。 2. 转到“工具”->“选项”->“Git”,选中“禁用 SSL 证书验证”复选框。 3. 它对我有用。

1

我的情景和解决方案:

我已经开启了双重认证。我无法看到一些私有仓库,也无法从URL克隆。我看到的错误是:

remote: Repository not found.
fatal: repository 'https://github.com/bizzabo/web-common.git/' not found
remote: Repository not found.
fatal: repository 'https://github.com/bizzabo/web-common.git/' not found

据说新版的SourceTree不需要个人访问令牌,因为它们可以直接与github进行身份验证,但我无法使其正常工作。
显然,OAuth和2FA不能很好地混合在一起--所以我将认证方法从oauth更改为basic,并使用我生成的访问令牌。这样做就可以了。

如何在 GitHub 上更改身份验证方法? - gopalanrc
在 SourceTree 上 @gopalanrc - Eran Goldin

1
在我的情况下,我使用了SourceTree的“添加帐户”设置,将我的Bitbucket和GitHub帐户添加到SourceTree中的SSH协议下。 SourceTree正确地执行了生成SSH密钥并将其添加到我的计算机的所有操作,但它在添加到我的~/.ssh/config文件时出现了一些小问题。它创建的条目如下:
Host username-Bitbucket
  HostName bitbucket.org
  User username
  PreferredAuthentications publickey
  IdentityFile /Users/adil/.ssh/username-Bitbucket
  UseKeychain yes
  AddKeysToAgent yes

Host username-GitHub
  HostName github.com
  User username
  PreferredAuthentications publickey
  IdentityFile /Users/adil/.ssh/username-GitHub
  UseKeychain yes
  AddKeysToAgent yes

Host 生成的值不正确。我将我的 ~/.ssh/config 文件中的条目更改为以下内容:

Host bitbucket.org
  User username
  PreferredAuthentications publickey
  IdentityFile /Users/adil/.ssh/username-Bitbucket
  UseKeychain yes
  AddKeysToAgent yes

Host github.com
  User username
  PreferredAuthentications publickey
  IdentityFile /Users/adil/.ssh/username-GitHub
  UseKeychain yes
  AddKeysToAgent yes

在进行了这个更改之后,"This is not a valid source path / URL" 错误消失了,我能够顺利地从我的 Bitbucket 和 GitHub 账户克隆仓库。


1
我遇到了同样的问题,尝试了这里提到的解决方案,包括使用系统Git和使用个人访问令牌,但都没有成功。更奇怪的是,我可以克隆一些个人仓库,但却无法克隆我工作所需的那个仓库。然而,我在另一台设备上使用相同的ID和整体设置成功访问了该仓库。最后,我在GitHub的仓库克隆弹出窗口上注意到了这段文字:使用受密码保护的SSH密钥。原来问题就出在这里:我在新设备上匆忙设置了git和SSH,并决定这次尝试不设置SSH密钥的密码。结果发现,除了安全隐患之外,这也是一个坏主意,因为它给我带来了这个问题。
解决步骤:
  1. 删除SSH密钥(如果这是您唯一的密钥,并且您使用的是Mac,rm -rf ~/.ssh/*将通过删除.ssh文件夹的内容来清除所有SSH密钥 - 参考自此答案
  2. Sourcetree -> 首选项 -> 账户 -> 选择账户,编辑 -> SSH密钥:生成密钥
  3. 创建SSH密钥,在此步骤中确保输入一个密码短语
  4. 将公钥复制到剪贴板,添加到GitHub
  5. 尝试再次克隆存储库,您可能需要重新打开Sourcetree并输入密码短语。此时,我不再遇到这不是有效的源路径/URL错误。

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