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。

相关推荐
荔枝吻1 小时前
【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
人工智能·git·github
mrbone112 小时前
Git-git worktree的使用
开发语言·c++·git·cmake·worktree·gitab
小哈龙3 小时前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
GISer_Jing13 小时前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
高山莫衣19 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁19 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_19 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记19 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码1 天前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码1 天前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github