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。

相关推荐
Leo⁵4 小时前
基于 Git 的 Obsidian 笔记同步
笔记·git
Qres8217 小时前
Git基础命令学习笔记
笔记·git·学习
REDcker8 小时前
Git分支与版本管理实践
git
Goodbye13 小时前
Git 开发必备性能
git
Wils0nEdwards13 小时前
Windows本地 git 版本管理
windows·git·elasticsearch
Niliuershangba14 小时前
ChestnutCMS 栗子内容管理系统:从入门到模板开发实战
java·git·开源·gitlab·github·开源软件·gitcode
专注VB编程开发20年14 小时前
安桌15系统文件直接存到其他目录要权限吗?/storage/emulated/0/Downloa
git
解道Jdon16 小时前
从Go转向Rust迁移指南:靠自觉 vs. 靠编译器
ide·windows·git·svn·eclipse·github·visual studio
霸道流氓气质18 小时前
Git 三方合并策略详解
git
Cry丶18 小时前
GitHub 开源项目 PR 提交流程:从 Fork 到 CLA 签署
git·github·开源贡献·pull request·cla