文档首页 > > 用户指南> 更多Git知识> Git LFS使用

Git LFS使用

分享
更新时间:2020/10/19 GMT+08:00

背景信息

  • 代码托管支持Git LFS(Large File Storage,大文件存储)协议,可以把音乐、图片、视频等指定的任意大文件资源存储在Git仓库之外,对于使用者而言,类似在操作一个完整的Git仓库,非常方便。通过将大文件存储在Git原有的数据结构之中,可以减小Git仓库本身的体积,使克隆Git仓库的速度加快,也使得Git不会因为仓库中充满大文件而损失性能。
  • 当您要上传额文件单个超过100M时,需要使用Git LFS。
  • 使用操作包含以下内容:

安装Git LFS

不同操作系统的安装方法如下表所示。

表1 Git LFS安装方法

操作系统

安装方法

Windows

安装不低于Git 1.8.5版的Git客户端(下载地址),然后在命令行中执行:

1
git lfs install

Linux

在命令行中执行:

1
2
3
$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
$ sudo apt-get install git-lfs
$ git lfs install

MacOS

首先安装Homebrew,然后在命令行中执行:

1
2
3
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install git-lfs
$ git lfs install

配置追踪文件

配置追踪文件方法如下图所示。

表2 追踪文件配置方法

场景

方法

追踪所有后缀名为“.psd”的文件

追踪所有后缀名为“.psd”的文件:

git lfs track "*.psd"

追踪单个文件

追踪单个文件:

git lfs track "logo.png"

查看已追踪的文件

查看已追踪的文件,可以通过git lfs track,或通过查看“.gitattributes”文件,获取详情:

1
2
3
4
5
6
7
$ git lfs track
Listing tracked patterns
    *.png (.gitattributes)
    *.pptx (.gitattributes)
$ cat .gitattributes
*.png filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text

提交大文件

提交代码时需要将“.gitattributes”文件也提交到仓库,提交完成后,执行git lfs ls-files命令可以查看 LFS 跟踪的文件列表。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ git push origin master
Git LFS: (2 of 2 files)12.58 MB / 12.58 MB
Counting objects: 2, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 548 bytes | 0 bytes/s, done.
Total 5 (delta 1), reused 0 (delta 0)
To <URL>
<SHA_ID1>..<SHA_ID2>  master -> master
$ git lfs ls-files
61758d79c4 * <FILE_NAME_1>
a227019fde * <FILE_NAME_2>

克隆包含Git LFS文件的远程仓库

使用git lfs clone命令克隆包含“Git LFS”文件的远程仓库到本地:

1
2
3
4
5
6
7
8
9
$ git lfs clone <URL>
Cloning into '<dirname>'
remote: Counting objects: 16,done.
remote: Compressing objects: 100% (12/12),done.
remote: Total 16 (delta 3), reused 9 (delta 1)
Receiving objects: 100% (16/16),done.
Resolving deltas: 100% (3/3),done.
Checking connectively...done.
Git LFS: (4 of 4 files) 0 B / 100 B

更多操作

查看Git-LFS官方网站:https://git-lfs.github.com

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问