Git-LFS管理大文件
Git LFS管理大文件
简介
Git LFS(Large File Storage) 可以把音频样本,视频,数据集,相片等大文件替换成文本指针文件,而这些二进制大文件会存储在远程 LFS 服务器上。当我们需要这些大文件时,Git LFS自动根据指针,从缓存目录中检出对应真实的文件,类似支持 Git LFS 的平台有 GitHub/Gitlab/bitbucket 等。在Unity开发中,可以用于管理模型、动画等大文件
Git-LFS 能降低整个仓库的体积,大大提高首次 git clone 的速度;只有执行 git checkout 分支和 commit 时,才会下载当前需要用到 LFS 文件,减少本地磁盘空间占用。
安装
-
Ubuntu
1
sudo apt install git-lfs
-
Windows
1
2
3直接执行:
git lfs install
这一步为全局配置,以后如果想在其他仓库使用,无需配置
使用
文件指针示例:
1 | version https://git-lfs.github.com/spec/v1 # 表示LFS的版本 |
使用方式:
1 | 为仓库安装LFS |
Git LFS的其他常用命令:
1 | 追踪文件,支持正则表达式 |
一些使用中遇到的问题:
-
远程仓库要提前设置:
Setting -> General -> Archives
-
Remote “origin” does not support the LFS locking API. Consider disabling it with:
按照提示进行操作即可
1
git config lfs.你的仓库链接 false
-
当进行push时才发现有大文件没有使用LFS进行管理:
1
2
3
4
5
6
7
8改写提交历史
git lfs migrate import --include-ref=master --include="文件"
--include-ref指定分支,如果要应用到所有分支,使用 --everything
--include指定文件,可以使用通配符等
不想改写提交历史,加入 --no-rewrite 选项
改写提交历史后,需要强制推送
git push origin main --force
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!




