TotoiseHG:远程主机强行关闭现有连接

时间:2016-02-04 10:30:23

标签: git github mercurial tortoisehg hg-git

我想将项目从 TortoiseHg 推送到 GitHub 。我知道,TortoiseHg是Mercurial分布式版本控制系统的前端; GitHub与Git一起工作的地方。但我喜欢使用TortoiseHg(而不是TortoiseGit或GitGui),并希望将我的项目保留在GitHub中。

所以,我配置了TortoiseHg(文件>设置>扩展> hggit )并且能够将测试项目推送到GitHub(在this精彩的博客之后)。但后来当我试图用它来推动一个 C#MVC 项目时,情况发生了变化。 它很好地开始推动,然后要求认证,&然后显示此错误 -

An existing connection was forcibly closed by the remote host

以下是日志中显示的内容 -

% hg push git+https://github.com/MinhasKamal/MVCPracticeWork
pushing to git+https://github.com/MinhasKamal/MVCPracticeWork
http authorization required for https://github.com/MinhasKamal/MVCPracticeWork/info/refs
realm: GitHub
searching for changes
adding objects
URLError: [Errno 10054] An existing connection was forcibly closed by the remote host
[command returned code 255 Thu Feb 04 16:17:02 2016]

我不明白 - 为什么会发生这种错误。这是GitHub或TortoiseHG的问题,还是我做错了什么?如何解决?

编辑1:我能够推送到存储库但只能通过'不添加'某些特定目录到我的存储库。是出现此错误的文件类型或名称是什么?

编辑2:这个问题再次发生在我身上,这次是Java项目。一切都很好,直到我在存储库中添加了 * .jar 文件。我做了一个提交,但当我试图将它推送到GitHub时,TortoiseHg向我展示了相同的消息。我删除了 *。jar ,已经提交,并尝试再次推送,但不能。

现在,我再次做了我之前做的(编辑1) - 我将整个存储库从GitHub拉到另一个文件夹,从我当前的PC库中替换了已更改的文件(没有添加 *。jar < / em>),承诺和推动;这次我成功了。所以,这次 * jar 文件没有添加到版本控制数据库中,这就是它工作的原因。

4 个答案:

答案 0 :(得分:2)

  • 我无法看到任何推送到MinhasKamal/MVCPracticeWorkThis repository is empty.
  • 您可以在此repo的.hgrc中使用[auth] section自动推送过程(无手工,无超时,无输入错误)(在其中定义用户名和密码)
  • 在纯CLI中执行至少一些初始测试推送(更多信息和可读输出)

答案 1 :(得分:2)

如果您尝试将超大文件添加到任何仓库中,Github会出现问题。即使我不知道这是不是你的问题。

我在Mac上同时使用HG和Git进行了更改并尝试将其推送到github。当我运行git push时,Git向我显示文件太大的消息,但是HG只显示我推送失败。

如果.jar或您添加的任何文件导致问题,您可以检查文件大小是否超出limit (from github)this one

答案 2 :(得分:2)

到目前为止,经过多次评论后,似乎某些二进制文件类型的内容(例如 - * .jar * .mp3 等但不是 * .png )是有问题的:

  • 不是文件大小(虽然文件是really large,但这也是一个问题,但它不在这里)
  • 不是它的扩展名(OP添加“我有一张照片,我将其重命名为*.jar,并且它有效”)

为了保持类似的最终用户体验,测试将是安装 TortoiseGit ,并查看git push是否可以在经典的git clone repo中使用。

答案 3 :(得分:2)

只有在使用HTTPS协议时才会出现此问题。如果您使用SSH代替(这很麻烦,但在Windows上仍然可行)推送将成功。

有关详细信息,请参阅https://www.mercurial-scm.org/pipermail/mercurial/2017-March/050304.html。我建议阅读整个帖子,这只是六条消息。