我想将项目从 TortoiseHg 推送到 GitHub 。我知道,TortoiseHg是Mercurial分布式版本控制系统的前端; GitHub与Git一起工作的地方。但我喜欢使用TortoiseHg(而不是TortoiseGit或GitGui),并希望将我的项目保留在GitHub中。
所以,我配置了TortoiseHg(文件>设置>扩展> hggit )并且能够将测试项目推送到GitHub(在this精彩的博客之后)。但后来当我试图用它来推动一个 C#MVC 项目时,情况发生了变化。 它很好地开始推动,然后要求认证,&然后显示此错误 -
以下是日志中显示的内容 -
% 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 文件没有添加到版本控制数据库中,这就是它工作的原因。
答案 0 :(得分:2)
MinhasKamal/MVCPracticeWork
:This repository is empty. 答案 1 :(得分:2)
如果您尝试将超大文件添加到任何仓库中,Github会出现问题。即使我不知道这是不是你的问题。
我在Mac上同时使用HG和Git进行了更改并尝试将其推送到github。当我运行git push
时,Git向我显示文件太大的消息,但是HG只显示我推送失败。
如果.jar或您添加的任何文件导致问题,您可以检查文件大小是否超出limit (from github)和this one
答案 2 :(得分:2)
到目前为止,经过多次评论后,似乎某些二进制文件类型的内容(例如 - * .jar , * .mp3 等但不是 * .png )是有问题的:
*.jar
,并且它有效”)为了保持类似的最终用户体验,测试将是安装 TortoiseGit ,并查看git push是否可以在经典的git clone repo中使用。
答案 3 :(得分:2)
只有在使用HTTPS协议时才会出现此问题。如果您使用SSH代替(这很麻烦,但在Windows上仍然可行)推送将成功。
有关详细信息,请参阅https://www.mercurial-scm.org/pipermail/mercurial/2017-March/050304.html。我建议阅读整个帖子,这只是六条消息。