当我试图逃跑的时候

git push origin master --force

我刚刚

Counting objects: 2649, done.
Delta compression uses up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date

这和缺乏安全感有关吗?我尝试创建一个公钥作为致命的答案:远程端意外挂断并重新运行它,但它仍然不工作。我不是在用钥匙吗?如果是,我该如何使用它?


当前回答

对我们来说,问题是我们有大量的文件应该由git lfs来管理。

我们采取了以下措施来解决问题:

# Soft reset so you can author a new commit
git reset --soft HEAD~1

# Install git lfs
git lfs install

# Track large files of a specified file type YMMV
git lfs track "*.uasset" "*.umap"

# Re-add everything
git add .

# Author a new commit
git commit -m "git lfs ftw"

# Push
git push

其他回答

如果在存储库上缺少写权限,也可能引发此错误。


我的具体案例是这样的:

我用服务器的根用户(通过SSH)创建了一个repo。 我安装了一个git服务,并创建了一个git linux用户,该用户应该管理所有与git相关的操作。 到那时,我已经忘记了这个repo最初是由根用户创建的,而git用户根本没有向存储库中写入任何内容的文件权限。

以上的解决方案都不适合我,但是我要提交的任务非常大。

非常简单,我把它分成两个提交,分别推送每个提交,它立即通过。

这样做可以看到你正在使用的键:

ssh -vT git@github.digitalglobe.com

然后确保在你的构建中你在一开始就运行了这个:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

另一个补充,因为我遇到这个错误不同的方式和谷歌把我带到这里。

我的问题是箱子不匹配;一只骆驼箱,一只没有。显然,GIT会在不告诉你原因的情况下阻止你这么做。因此,如果您的分支只在大小写上与远程分支不同,请尝试将它们更改为相同。

看到的: Git:合并后'Master无法解析为分支'

这看起来类似于我如何让github默认为ssh,而不是https的新存储库。 也许从http协议切换到ssh协议是值得的:

$ git remote add origin git@github.com:username/project.git