大规模的 git push 失败。

5
我有一个很大的提交要推送到远程,但是一直失败。它可以正确地计算和压缩项目,但是当它尝试写入远程时,需要很长时间。它完成了约79%的工作,然后我收到一个错误信息。
错误信息大致为:远程突然挂断了连接 我尝试将提交分成较小的块,但是推送仍然会尝试将它们全部推送。因此,问题仍然存在。是否有一种方法可以逐个推送较小的块?
1个回答

4
如果您将原始提交拆分为较小的提交,可以使用git push origin abc123:master(其中abc123是提交哈希)逐个推送它们。
(您是否检查过服务器是否有足够的磁盘空间?)

啊...谢谢,那很有道理。我应该能够从“git log”中获取提交哈希值,对吗? - belotte
@belotte:没错。你也可以通过执行 git reset HEAD~1 来“撤销”最后一次提交,但仍保留文件更改。你可能需要先执行 git branch backupBranch,这样你就还有原始提交记录。 - Aasmund Eldhuset
1
我尝试了你提到的方法:git push origin a03c048ce8497adda985921a979b4d1d8d74d01:master,结果出现了以下错误信息:! [rejected] 8a03c048ce8497adda985921a979b4d1d8d74d01 -> master (non-fast-forward) error: failed to push some refs to 'https://belotte@bitbucket.org/belotte/my-new-site.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') hint: before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. - belotte
那么我尝试了:git pull,结果得到了以下提示:当前分支没有跟踪信息。 请指定您想要合并的分支。 有关详细信息,请参见 git-pull(1)git pull 如果您希望为此分支设置跟踪信息,可以使用以下命令:git branch --set-upstream master origin/ - belotte
然后我尝试了pull origin master,得到了以下信息:* branch master -> FETCH_HEAD已经是最新的。所以我不确定该怎么办。 - belotte

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接