代码托管支持Git LFS(Large File Storage,大文件存储)协议,可以把音乐、图片、视频等指定的任意大文件资源存储在Git仓库之外,对于使用者而言,类似在操作一个完整的Git仓库,非常方便。通过将大文件存储在Git原有的数据结构之中,可以减小Git仓库本身的体积,使克隆Git仓库的速度加快,也使得Git不会因为仓库中充满大文件而损失性能。
当您要上传的文件单个超过200MB时,需要使用Git LFS。
安装Git LFS
不同操作系统的安装方法如下表所示。
操作系统 | 安装方法 |
---|---|
Windows | 安装不低于Git 1.8.5版的Git客户端,然后在命令行中执行:
|
Linux | 根据自己的操作系统和cpu架构在PackageCloud网站下载对应的安装包。 先解压安装包,再执行install.sh脚本进行安装,然后执行如下命令检查是否安装成功:
|
macOS | 首先安装Homebrew软件包管理工具,然后在命令行中执行:
|
配置追踪文件
配置追踪文件方法如下所示。
场景 | 方法 |
---|---|
追踪所有后缀名为“.psd”的文件 | 追踪所有后缀名为“.psd”的文件:
|
追踪单个文件 | 追踪单个文件:
|
查看已追踪的文件 | 查看已追踪的文件,可以通过git lfs track,或通过查看“.gitattributes”文件,获取详情:
|
提交大文件
提交代码时需要将“.gitattributes”文件也提交到仓库,提交完成后,执行git lfs ls-files命令可以查看 LFS 跟踪的文件列表。
- $ 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”文件的远程仓库到本地:
- $ 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。
转载本站内容时,请务必注明来自W3xue,违者必究。