【问题标题】:Large git push fails大型 git push 失败
【发布时间】:2014-04-30 01:44:00
【问题描述】:

我有一个大的提交,我正试图推送到远程。但它一直失败。它可以很好地计算和压缩项目。但是当它尝试写入远程时,需要很长时间。它达到大约 79%,然后我得到一个错误。

大意是:Remote suddenly hung up on other end

我尝试将提交分解成更小的块,但推送仍然试图将它们完全推送。所以它仍然是同样的问题。有没有办法单独推送更小的块?

【问题讨论】:

    标签: git push commit


    【解决方案1】:

    如果您已将原始提交拆分为较小的提交,则可以使用 git push origin abc123:master(其中 abc123 是提交哈希)单独推送它们。

    (你检查过服务器没有磁盘空间不足吗?)

    【讨论】:

    • 啊...谢谢,这是有道理的。我应该能够从“git log”获取提交哈希,是吗?
    • @belotte:正确。您还可以通过执行git reset HEAD~1 来“撤消”最后一次提交,但仍保留文件更改。您可能想先执行git branch backupBranch,以便您仍然拥有原始提交。
    • 我试过你提到的方法:git push origin a03c048ce8497adda985921a979b4d1d8d74d01:master,得到这个:! [rejected] 8a03c048ce8497adda985921a979b4d1d8d74d01 -> master (non-fast-forward) error: failed to push some refs to 'belotte@bitbucket.org/belotte/my-new-site.git' 提示:更新被拒绝,因为你当前分支的尖端在提示后面:它的远程对应部分。合并远程更改(例如'git pull')提示:再次推送之前。提示:有关详细信息,请参阅“git push --help”中的“关于快进的说明”。
    • 于是我尝试了: git pull 并得到:当前分支没有跟踪信息。请指定要合并的分支。有关详细信息,请参阅 git-pull(1) git pull 如果您希望为此分支设置跟踪信息,可以使用: git branch --set-upstream master origin/
    • 然后我尝试 pull origin master 并得到:* 分支 master -> FETCH_HEAD 已经是最新的。所以我不知道该怎么办。
    猜你喜欢
    • 2014-07-20
    • 2021-03-15
    • 2013-03-21
    • 2011-04-26
    • 1970-01-01
    • 2023-03-04
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多