Git LFS 管理 Unity 大文件

Git 推送 Unity项目到服务器端仓库的时候,出现如下关键提示,表明推送内容太大,无法正常推送。

error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

fatal: the remote end hung up unexpectedly Everything up-to-date

解决方案

安装 Git LFS服务,基于Git LFS服务推送;

  1. 在 Git Bash 窗口安装 LFS 服务;
  2. (如果有)撤销上一次的本地提交;
  3. 编辑 LFS 的配置文件(即LFS追踪哪些类型的文件);
  4. 单独添加 LFS 的配置文件并推送;
  5. 重新添加项目文件,进行推送;
bash 复制代码
# Windows(如果用Git Bash)
git lfs install

# 验证安装
git lfs version

# 若提示 git: 'lfs' is not a git command,需先下载安装 Git LFS:
# https://git-lfs.com/

# (如果有需要)撤销上一次的提交
git reset --soft HEAD~1  # 撤销最后一次提交(保留文件修改)

# 追踪Unity常见大文件类型(根据你的项目补充)
# 注意在仓库根目录下打开Git Bash进行如下指令
git lfs track "*.psd"
git lfs track "*.png"
git lfs track "*.jpg"
git lfs track "*.fbx"
git lfs track "*.asset"
git lfs track "*.unitypackage"
git lfs track "*.dll"
git lfs track "*.exe"

# 把.gitattributes文件加入版本控制(LFS的配置文件)
git add .gitattributes
git commit -m "配置Git LFS追踪Unity大文件"

# 推送

git add .  # 重新暂存(LFS会识别并处理大文件)
git commit -m "使用LFS推送Unity项目资源"

(不使用LFS)分块推送;(不适用于单个超大文件)

bash 复制代码
# 1. 撤销当前未推送的大提交(保留文件,仅撤销提交记录)
git reset --soft HEAD~1

# 2. 分批暂存+提交(比如先推代码文件,再推资源文件)
# 第一步:只暂存代码/配置文件(小体积)
git add *.cs *.meta .gitignore .gitattributes
git commit -m "推送Unity代码和配置文件"
git push origin master:main  # 先推小体积内容

# 第二步:暂存部分资源文件(分多次)
git add Assets/Scripts/ Assets/Scenes/  # 只加部分资源
git commit -m "推送部分Unity资源(批次1)"
git push origin master:main

# 重复第二步,分批推送剩余资源,直到全部推完

其他

为什么修改 http.postBuffer 会无效?

git config http.postBufferGit 客户端侧的缓冲区配置 ,作用是:Git 在向远程推送数据时,会先把待推送的数据包缓存到本地内存 / 磁盘,攒到 postBuffer 设定的大小后,再一次性发送给服务端。

  • 它的设计目的:解决「客户端频繁发送过小数据包,导致网络传输效率低、超时断开」的问题(比如网络极慢时,发一堆小包容易断);
  • 它的核心局限:只能调整客户端 "怎么发",无法改变服务端 "能收多少"

而这里提到的问题根源是:服务端的「硬性大小限制」(HTTP 413)

推送的数据包是XGiB大小的存在,而远程 Gitea 服务器(或前端的 Nginx/Apache)会设置 client_max_body_size 这类参数(比如默认 1GB/100MB),这个参数是服务端的 "红线":

  • 只要单次 HTTP 请求的数据包大小超过这个值,服务端会直接返回 HTTP 413(请求实体过大),并断开连接 ------ 这是服务端的主动拒绝,和客户端怎么发、缓冲区多大无关;
  • 修改 http.postBuffer 只是把客户端的 "发送缓冲区" 调大了,但发送的仍是一个 XGB 的超大数据包,依然会触发服务端的大小限制,所以毫无作用。
相关推荐
jayaccc14 小时前
Git命令大全:从入门到精通
大数据·git·elasticsearch
论迹17 小时前
【Git】-- Git安装 & 卸载(ubuntu)
git·ubuntu·elasticsearch
论迹18 小时前
【Git】-- Git基本操作
git·ubuntu
wxr06161 天前
GIT学习
git·学习
猫头虎1 天前
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)
git·开源·gitlab·github·开源软件·开源协议·gitcode
垂葛酒肝汤1 天前
放置挂机游戏的离线和在线收益unity实现
游戏·unity·c#
爱学英语的程序员1 天前
让AI 帮我做了个个人博客(附提示词!)
人工智能·git·vue·github·node·个人博客
康de哥1 天前
在OpenCode中配置unity3d-mcp
unity·glm-4.7·minimax m2.1·opencode·unity3d-mcp
liu****1 天前
git工具
git·python·算法·机器学习·计算机基础
在路上看风景1 天前
1.5 AssetDataBase
unity