在使用Unity制作结课作业时,使用到git工具进行版本控制与多人协作。在提交项目至远程仓库的过程中,git bash提示了以下报错:
remote: warning: File Assets/Models/Z_India_5.29.fbx is 57.31 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: error: Trace: fa4a9cc49cc337ec9fefcdfdbad0260395e4f601a7595b9ead64e68c51a65626
remote: error: See Managing large files - GitHub Docs for more information.
remote: error: File Assets/Models/zhongguoguan.fbx is 119.03 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
To github.com:Curzsu/Museum-Escape.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'github.com:Curzsu/Museum-Escape.git'
查阅了相关资料,得出以下结论:
这个错误信息显示Git 仓库中有两个文件大小超过了 GitHub 的限制,分别是 "Assets/Models/Z_India_5.29.fbx" 和 "Assets/Models/zhongguoguan.fbx"。GitHub建议单个文件大小不超过50MB,而这两个文件分别为 57.31MB 和 119.03MB。
简言之,就是在单次提交中,不能直接提交一个大小过大的文件。
幸运的是,可以通过使用Git Lfs来解决这种问题。Git LFS(Large File Storage)是一个 Git 扩展,可以帮助我们管理和提交大文件。
假设你已经由于上传过大文件而报错了,请先撤销commit至文件还未提交时的初始状态,可用如下命令进行撤销commit操作(每执行一次,就撤销一次提交):
git reset --soft HEAD^
接下来就是git lfs的具体使用流程,最好按顺序执行:
1、首先在github对将要上传到的目标仓库进行设置。
勾选红框处:
2、打开bash,初始化安装lfs
git lfs install
3、添加.gitattributes这个文件,这样才能成功执行后面一系列操作
git add .gitattributes
4、使用lfs追踪将要上传的大文件(这里我直接把刚刚报错的模型文件进行追踪)
git lfs track "Assets/Models/*.fbx"
5、使用如下命令,查看当前已追踪的文件,确认一下
git lfs track
6、接下来就是正常操作
git add .
git commit -m "LFS models"
git push origin master
完毕