Git 大文件使用 Git-LFS 管理,推送失败

配置了.gitattributes文件后,

复制代码
*.jar filter=lfs diff=lfs merge=lfs -text
*.so filter=lfs diff=lfs merge=lfs -text
*.aar filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.a filter=lfs diff=lfs merge=lfs -text

仍然推送失败

复制代码
POST git-receive-pack (chunked)
remote: 推送失败,以下文件大小超过单文件 200MB 的系统限额:        
remote: Blob ID  | 大小(MB) | 文件名        
remote: -------------------------------        
remote: e5c4a548 | 422.77   | libil2cpp.so        
remote: 91623ee1 | 339.26   | libil2cpp.so        
remote: 
remote: 大文件请使用 Git-LFS 管理,使用说明: https://help.aliyun.com/document_detail/321367.html. git推送失败,      

可能的原因:

  1. 1. Git LFS 未正确安装或配置: 你需要确保你在本地安装了 Git LFS 并进行了正确的配置。可以通过以下命令来安装和配置 Git LFS:

    复制代码
    git lfs install
  2. 2. 文件未被 Git LFS 跟踪 : 即使在 .gitattributes 文件中已经配置了 LFS,但如果文件没有被正确标记为 LFS 文件,它们仍然会被当作普通文件处理。你需要确保这些文件已经通过 Git LFS 跟踪。可以使用以下命令来确保文件被 LFS 跟踪:

复制代码
   git lfs track "*.so"
   git lfs track "*.a"
   git lfs track "*.jar"
   git lfs track "*.bin"
   git lfs track "*.aar"

然后,提交这些更改:

复制代码
   git add .gitattributes
   git commit -m "Track large files using LFS"
  1. 3. 文件已经超过了 Git 的历史限制 : 如果你在 Git 历史中已经提交了这些大文件,并且它们的大小超过了限制,你可能需要重写 Git 历史来将它们迁移到 LFS。你可以使用 git lfs migrate 来做这件事:

复制代码
   git lfs migrate import --include="*.so,*.a,*.jar,*.bin"

这将会将这些类型的文件移动到 LFS。

相关推荐
REDcker18 小时前
Git 原理解析
git
Mo_YuO.o19 小时前
git的安装以及本地仓库的创建
git·gitee·github
CoderJia程序员甲19 小时前
GitHub 热榜项目 - 日榜(2026-01-19)
git·ai·开源·llm·github
-大头.20 小时前
GIT教程系列(共3篇)---------第二篇:Git高级协作与团队实战完全指南
大数据·git·elasticsearch
Q741_14721 小时前
Git 添加文件基本操作与简单原理
git
好评1241 天前
git常见操作及问题
linux·git
小王C语言1 天前
版本控制器git和调试器gdb
git
-大头.1 天前
GIT教程系列(共3篇)---------第一篇:Git入门与核心概念完全指南
大数据·git·elasticsearch
_Xiaosz1 天前
Git 拉取子模块报错 Permission denied (publickey) 的排查与解决
git
晚霞的不甘1 天前
Flutter for OpenHarmony 实战:[开发环境搭建与项目编译指南]
git·flutter·react native·react.js·elasticsearch·visual studio code