Git LFS:错误:无法将一些引用推送到

7
我安装了LFS用于git,但是在尝试推送时出现了以下错误:
Uploading LFS objects: 100% (18/18), 96 KB | 0 B/s, done                        
Counting objects: 2199, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2137/2137), done.
Writing objects: 100% (2199/2199), 267.81 MiB | 2.29 MiB/s, done.
Total 2199 (delta 1018), reused 0 (delta 0)
remote: Resolving deltas: 100% (1018/1018), completed with 19 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: e6aa6d46525891c943a17811e644b561
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File riscv/libexec/gcc/riscv64-unknown-elf/7.2.0/cc1 is 149.98 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File riscv/libexec/gcc/riscv64-unknown-elf/7.2.0/cc1plus is 170.88 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File riscv/libexec/gcc/riscv64-unknown-elf/7.2.0/lto1 is 139.49 MB; this exceeds GitHub's file size limit of 100.00 MB
To <remote repository>
 ! [remote rejected] testgenerator -> testgenerator (pre-receive hook declined)
error: failed to push some refs to <remote repository>

我该如何修复这个问题?
4个回答

15

简述

git config --global lfs.contenttype 0

详细说明

我遇到了同样的问题,但是非LFS上传正常,因此不是服务器或基础设施阻止大文件等问题。

经过一些搜索,我在GitHub上找到了这个建议

看起来您正在使用Bitbucket Server实例。您可以尝试运行命令git config lfs.contenttype 0,然后再尝试2.6.0版本?某些版本的Bitbucket Server需要特定的Content-Type头,设置该选项应该有助于Git LFS提供所需的标头。

运行该命令后,现在我的repo与LFS配合得很好!

我确实必须对每个使用LFS的repo运行该命令。我尝试了变体命令git config --global lfs.contenttype 0,似乎已经处理了我其余的所有repos。现在我使用LFS没有任何问题了


2
在我们的Bitbucket服务器上完美运行,非常感谢。奇怪的是,在供应商文档中没有提到。 - void
1
很高兴能帮到你,@void!感谢你让我的声望超过了6k。 - Ky -
1
这真是救命稻草。我从未想过Bitbucket是罪魁祸首。 - Daniel

3
看起来你正在尝试推送到的GitHub服务器设置了100 MB的文件大小限制。
解决方案:在本地仓库中安装LFS,并使用LFS跟踪这些文件
由于你已经提交了大文件,你可以选择:
1. git reset --mixed <commit_before_adding_the_large_files>,然后在本地仓库中安装LFS,跟踪文件并提交更改。
或者
2. git commit --amend,然后在本地仓库中安装LFS,跟踪文件并提交更改。

附加信息:git resetgit commit --amend

0
我遇到了类似的问题。我可以进行 fetch 和 pull 操作,但无法进行 push 操作。而且这个问题在数周没有出现任何推送问题之后才开始出现。我一直在使用命令提示符执行手动的 git 命令,并没有任何问题,但突然间当我尝试推送 LFS 数据时,它就会失败。Git 会要求输入我的 SSH 密钥密码,推送开始后却以 "访问被拒绝" 的 "公钥" 错误消息失败。我在互联网上找到的任何解决方法都没有起作用。所以我只是下载了 GitHub Desktop,由于某种原因,git push 通过该应用程序再次开始工作了。为某种原因,它多次要求输入我的 SSH 密钥密码,但最终一切都恢复正常。

0

我的问题与多个分支有关。不知何故,不同分支上存在矛盾的二进制文件。我尝试了其他许多人发布的所有方法,但都失败了。最后,我从一个分支中删除了推送,然后重新添加回去。这可能是由于lfs系统未实现任何情况导致的。可能还有其他更好的方法。


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