克隆或推送git存储库时,"无法在Eclipse中打开git-upload-pack"错误

kid*_*uxa 57 eclipse git bitbucket egit atlassian-sourcetree

我无法在Eclipse中的Bitbucket中克隆或推送到git存储库:

错误'无法打开git-upload-pack'

这很奇怪,因为前一天我没有任何问题.我已经下载了3次没有运气的sts.此错误一直显示.我也安装了SourceTree,它说'这不是一个有效的源路径/ URL':

错误'这不是sourcetree中的有效源路径/ URL'

如果我使用git命令导入项目,它可以工作,但我不想使用EGit执行此任务,因为我是git的新手.

我不知道这是否与它有关,但在同一目录中我有android-adt-bundle.这个工作得很好,但项目在于GitHub,而不是Bitbucket.此外,我正在与另一个人合作,他能够从Bitbucket存储库获取数据并将数据推送到Bitbucket存储库.我看了很多帖子,但没有一个人帮助过我.

我正在使用Windows 7顺便说一句.

Nex*_*day 113

也可能是糟糕的SSL证书,修复服务器

如果你有一个带有过时或自签名SSL证书的GIT服务器修复服务器,那么一切都应该运行正常.

不安全的修补程序:让客户端接受任何证书

以下解决方案仅仅是客户端上的一个修补程序,应该避免,因为它会破坏您的凭据和内容的安全性.在" 我如何让git接受自签名证书? "中有一个详细的解释,如果以下工作一般可以提供更复杂,更安全的解决方案.

在我的例子中,Eclipse使用不同的存储为git配置,因为命令行,因此没有选项

git config http.sslVerify false
Run Code Online (Sandbox Code Playgroud)

set(我使用命令行设置repo 以使用无效/不可信的SSL证书).

在Eclipse中添加选项会立即解决问题.添加选项

  1. 通过应用程序菜单Window => Preferences(或在OSX Eclipse => Settings上)打开首选项.
  2. 导航到Team => Git => Configuration
  3. 单击Add entry...,然后放入http.sslVerify密钥框和false值框.

似乎是不同操作系统上Eclipse 4.4(Luna),4.5.x(Mars)和4.6.x(Neon)的有效解决方案.

  • 这对我帮助很大 - 最简单的解决方案.仅供参考,在git配置屏幕上,单击"添加条目...",然后在密钥框中输入"http.sslVerify",在值框中输入"false". (6认同)
  • 在Ubuntu 14.04 LTS上仍然有效的Mars.2 Release(4.5.2)解决方案 (2认同)
  • 仍然是Windows 10上Neon.1的有效解决方案 (2认同)

Sir*_*dda 13

这是由于以下原因:

1)防火墙.

2)网络问题.

3)代理服务器设置不匹配

4)通过不同的路由器连接 - 未经网络授权.

5)Git代理验证细节


kid*_*uxa 7

最后,由于Eclipse论坛中列出步骤,我使其工作:

设置SSH密钥的东西

  1. 根据http://help.github.com/win-git-installation/上的github说明下载并安装mysys git
  2. 在C:/ Users/you/ssh中隐藏子目录中的任何现有密钥(id_rsa和id_rsa.pub).如果ssh目录不存在,请创建它.当然,"你"是操作系统知道你的用户名.
  3. 从开始菜单,运行Git-Bash命令shell(常规DOS命令shell将无法工作).
  4. 在Git-Bash shell中根据您的电子邮件(您在github上注册的电子邮件)生成一个rsa密钥:ssh-keygen -t rsa -C"you@wherever.com"并输入您的密码并在询问时确认.
  5. 上一步应创建C:/User/you/ssh/id_rsa.pub,您现在可以在文本编辑器中打开并复制.在github,转到帐户设置,SSH密钥,添加密钥并将其粘贴到密钥框中.
  6. 再次在Git-Bash中(注意下一行的后退): eval `ssh-agent` ssh-add C:/User/you/ssh/id_rsa ssh git@github.com

以下是您刚刚执行的操作:您运行了ssh-add所需的ssh-agent.然后使用ssh-add记下密钥的位置.然后你试着ssh到GitHub.对最后一个命令的响应应该是您已经在GitHub上成功进行了身份验证,但是您没有shell访问权限.这只是一个身份验证测试.如果身份验证不成功,则必须对其进行排序.试试详细版本:

ssh -v git@github.com

假设这有效......

在Eclipse中,配置远程推送

  1. 窗口 > 显示视图 > Git > Git存储库将添加存储库资源管理器窗口.
  2. 在存储库窗口中,选择存储库并展开并右键单击" 远程",然后选择" 创建远程".
  3. 从GitHub存储库页面复制GitHub存储库URI并将其粘贴到URI框中.
  4. 选择ssh作为协议,然后返回到URI框并在开头添加"git +",如下所示:

    混帐+ SSH://git@github.com/UserName/ProjectName.git

  5. 在" 存储库路径"框中,删除前导斜杠

  6. 点击下一步并交叉手指.如果您获得"auth fail",请重新启动Eclipse并再次尝试步骤5.
  7. 当您通过身份验证时,在下一个对话框中为source ref选择"master",单击"Add all branches spec"和"Finish".

我没有使用SSH git@github.com,而是使用SSH git@bitbucket.org.

现在我可以毫无问题地推送和导入.


Jav*_*gon 7

我在 eclipse 2020-12 上遇到了完全相同的问题。在“首选项”->“Git”中,我将“Http Client”更改为“Java 内置 HTTP”,问题得到解决。


Aar*_*vig 6

其中一个原因是Fiddler2配置为解密HTTPS流量.关闭Fiddler2它应该工作正常.


Rad*_*FID 6

经过几个小时的挣扎,我发现当我sslVerify = false在Eclipse中添加条目时,git配置文件没有更新.

我通过导航到我的.git目录并将config文件更新为:解决了我的问题:

[http]
    sslVerify = false
Run Code Online (Sandbox Code Playgroud)


小智 5

我添加-Dhttps.protocols=TLSv1.1,TLSv1.2eclipse.ini它,并且正在工作。我使用Java 1.7


Har*_*iya 5

最近,我对现有存储库遇到了同样的问题。当我尝试从上游获取无法获取的对象时,出现了 eclipse 问题:无法打开 git-upload-pack。

对我来说,在eclipse.ini文件中添加 TLS 版本后,以下解决方案有效

Dhttps.protocols=TLSv1.1,TLSv1.2

对于java7需要添加TLSv1.1,对于java8需要添加TLSv1.2

注意:添加以上配置后需要重新启动eclipse。