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。

相关推荐
不爱吃糖的程序媛16 分钟前
鸿蒙三方库适配读懂 `thirdparty/AES/.gitignore`:哪些文件不该进 Git?
git·elasticsearch·harmonyos
天若有情67314 小时前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
海盗123415 小时前
在群晖NAS上使用Git Server
git
y小花15 小时前
git常用指令
git
华科大胡子15 小时前
开源项目 Git 贡献全流程拆解
git
极地星光15 小时前
工程中:Git 子模块(submodule) vs 直接依赖(源码/库/包管理器)
git
无限进步_16 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
无限进步_17 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
无限进步_21 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
历程里程碑21 小时前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github