11

当我从命令行键入 git pull 时,我可以毫无问题地获取代码。

当我打开 Windows 的 SourceTree 并尝试 Pull 时,我得到:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.



Completed with errors, see above.

我可能做错了什么?

4

3 回答 3

12

在 Windows 上使用 SourceTree 似乎必须使用 Putty Agent。OpenSSH 密钥不起作用。

如果您只有 OpenSSH 密钥:

  1. 单击工具菜单中的创建或导入 SSH 密钥
  2. 在腻子密钥生成器中从转换菜单中选择导入密钥
  3. 选择您的私钥并点击保存私钥

您现在拥有包含您的密钥的 PPK 文件。

在 Source Tree从工具菜单中启动 SSH 代理并浏览到您的 PPK 文件。

所有操作现在应该可以正常工作了。

于 2013-04-05T08:55:38.903 回答
5

如果您使用公钥/私钥对进行身份验证,则此方法有效:

  1. 打开 Sourcetree 并转到“工具 > 创建或导入 SSH 密钥”(这将打开一个 PuTTY 密钥生成器窗口)并单击“生成”。

  2. 生成后,转到 drupal.org 并导航到“我的帐户 > 配置文件 > SSH 密钥”,然后单击“添加公钥”。

  3. 将生成的公钥从“PuTTY 密钥生成器”窗口(“用于粘贴到 OpenSSH 授权密钥文件的公钥:”)复制到 drupal.org 并保存。

  4. 在“PuTTY Key Generator”窗口中输入“Key passphrase”和“Confirm passphrase”,然后单击“Save private key”。确保将其保存在可以再次找到它的地方。

  5. 关闭“PuTTY Key Generator”窗口并在 SourceTree 中转到“工具 > 启动 SSH 代理(选美)”。您应该可以在此处选择您的私钥文件。(你刚刚保存的那个)

  6. 使用 drupal.org 提供的链接添加您的存储库。(用户名@git.drupal.org:project/your_project.git)

于 2013-03-23T13:51:01.003 回答
1

在 Windows 中不需要使用 Putty,但建议使用,否则每次启动 SourceTree 时都必须重新添加 ssh 密钥。
为此,请转到“工具 -> 添加 SSH 密钥...”并选择您在云服务器中提供的密钥(Git、BitBucket...)。现在,只要您使用 ssh url 克隆了您的存储库,您就可以正确地推/拉。
请记住,仅当您可以从命令行成功推/拉时,这可能适用于您,如果您不这样做,那么您有其他类型的问题。
如果您不小心使用 https url 克隆了您的存储库,则:

git remote set-url <remote> <ssh-uri>

喜欢:

git remote set-url origin git@github.com...
于 2014-07-21T08:04:24.123 回答