一个计算机技术爱好者与学习者

0%

好好学Git:Git LFS

1. Git LFS 简介

Git LFS: An open source Git extension for versioning large files
Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

Git LFS (Large File Storage)是一个开源的Git大文件版本控制的解决方案和工具集,工具自身是基于Golang进行实现,并在Github上开源。原理上是通过对Git客户端进行扩展的方式,从而集成并兼容了原生的Git客户端。Git LFS良好的设计,让用户感觉在对大文件处理过程中,与普通Git的使用方式上没有任何差别,也就是说,在使用方式上Git LFS对用户是完全透明的。

参考文档:

2. 下载和安装Git LFS

2.1. 官方脚本安装

1、下载适合系统的 git-lfs/releases

2、解压安装
解压后,执行 install.sh 脚本,这个脚本会做两个事情:

  • $PATH中安装Git LFS的二进制可执行文件
  • 执行git lfs install命令,让当前环境支持全局的LFS配置

安装成功,会输出:

1
Git LFS initialized.

2.2. Linux

参考文档:Git LFS - Installation instructions

Linux Debian:

1
curl -s http://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

RPM packages:

1
curl -s http://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash

2.3. MacOS

1
brew install git-lfs

2.4. Windows

目前lfs已经集成在了Git for Windows 中,直接下载和使用最新版本的Windows Git即可。

3. 让仓库支持Git LFS

1
git lfs install

如果官方脚本安装,那么不需要执行这条命令。

4. 使用Git LFS

1、设置LFS追踪 mp4 类型的文件

1
git lfs track "*.mp4"

track 命令实际上是修改了仓库中的 .gitattributes 文件。

2、查看LFS追踪的文件类型

1
git lfs track

3、提交 .gitattributes 文件

1
2
git add .gitattributes
git commit -m "Add LFS config"

4、放入一个 mp4 类型的文件到仓库中

5、提交并推送 mp4 类型文件

1
2
3
git add test.mp4
git commit -m "Add a bigfile"
git push

推送后,查看该mp4文件,会显示 Stored with Git LFS 。

注意:github中fork的仓库是不支持LFS上传大文件的,详情参考:can not upload new objects to public fork。如果想要上传大文件,需要源仓库管理员授权push的权限。

  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-git-lfs/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~