如何配置TortoiseGit以使用远程仓库?

时间:2018-05-08 22:56:29

标签: git ssh tortoisegit

自从重新安装我的办公室机器后,我遇到使用TortoiseGit访问(特别是推送)到我们的远程服务器的问题。

在我的公司中,中央仓库维护在远程服务器上。在我的Windows 10 PC上安装了Cygwin,Git和TortoiseGit。我也可以访问远程Linux帐户。

不久前,我生成了我的公钥和私钥SSH密钥,并从那时起使用它们。我经常使用Cygwin终端(bash)来访问远程仓库,并且通常使用TortoiseGit来管理提交并检查日志。在过去,我能够使用TortoiseGit访问远程仓库,但现在我无法使其工作。

当我配置客户端的 Git / Remote 窗格以使用HTTP URL时,我可以克隆回购。当我使用GIT URL时,我被要求提供远程服务器的密码。我无法推送这两个网址。

enter image description here

我正在使用 Putty Key 字段中Cygwin的id_rsa.pub目录中的home/.ssh密钥(也尝试使用私钥id_rsa)。此外,在网络窗格中,我将SSH客户端设置为C:\Program Files\Git\usr\bin\ssh.exe

所以,既然我的bash流程运行正常,我认为我的TortoiseGit设置有问题。知道我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

你在这里混合了几件事:Git for Windows,Cygwin和OpenSSH以及PuTTY。

  1. 您有一个OpenSSH密钥,因此您不能将PuTTY与TortoiseGit一起使用或在PuTTY key - 字段中输入OpenSSH密钥。 (你似乎已经配置了ssh.exe,所以没关系 - 或者你必须将你的OpenSSH密钥转换为PuTTY密钥,参见https://stackoverflow.com/a/32115724/3906760以便使用TortoiseGitPLink)。

  2. 您似乎安装了Git for Windows,因为您已从该软件包中选择了已发送的ssh.exe。这可能会导致不兼容。只需为ssh客户端选择ssh.exe即可确保使用相应git安装中的ssh.exe

  3. 我不清楚在TortoiseGit中使用了哪个git.exe,我假设使用Git for Windows,因为这是推荐用于TortoiseGit。在这里,我假设您面临的问题是,与您的Cygwin环境相比,Git for Windows使用不同的%HOME%。要解决此问题,请将.ssh文件夹复制到Windows主目录,或明确定义%HOM%E以指向您的Cygwin主页。

  4. 顺便说一下。不建议使用Cygwin Git,因为它没有通过 - 它没有通过Git测试套件的所有Git测试(参见https://stackoverflow.com/a/32427897/3906760)。

    TLDR:使用ssh.exe作为SSH客户端,确保使用了正确的git.exe并确保.ssh - 文件夹位于正确的%HOME%