git lfs的使用

git lfs的使用

1.什么是git lfs

Git LFS(Large File Storage, 大文件存储)是可以把音乐、图片、视频等指定的任意文件存在 Git 仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替的小工具。通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也使得 Git 不会因为仓库中充满大文件而损失性能。

2.优点是什么

git每次保存diff,一些大文件发生变化时,整个仓库就会增加很大的体积,导致clone和pull的数据量大增。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积

3.怎么安装

注意:git lfs 要求 git >= 1.8.2

Linux
    curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
    sudo apt-get install git-lfs
    git lfs install
Mac
    安装HomeBrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    brew install git-lfs
    git lfs install

4.怎么使用

  1. 查看现有的文件追踪模式:git lfs track

2.添加要管理的大文件的文件类型,比如gz文件
运行命令:git lfs track .gz
添加类型后,查看管理文件.gitattributes,可以发现.gitattributes中新增加一行:
.gz filter=lfs diff=lfs merge=lfs -text

3.将管理文件.gitattributes提交至仓库. 它保存了文件的追踪记录

4.获取git lfs管理的所有文件列表:git lfs ls-files

5.添加大文件到git仓库,和其它添加方式一样

git add my.gz
git commit -m "add gz file"
git push

6.将代码 push 到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示:

7.clone 时 使用'git clone' 或 git lfs clone均可

8.查看Git LFS 的帮助:git lfs help


https://www.atlassian.com/git/tutorials/git-lfs
https://docs.gitlab.com/ee/topics/git/lfs/

上一篇:基于STM32F103的Littlefs文件系统移植


下一篇:Git lfs 使用教程(下载[clone])