Git LFS的使用

Git LFS

简介

帮助文档:https://coding.net/help/doc/git/git-lfs.html

Git LFS是Github开发的一个Git的扩展,用于实现Git对大文件的支持

LFS是Git的一个扩展,所以没有改变Git的工作方式,其是把指定需要LFS管理的文件替换成了一个指针文件交给Git进行版本管理
在pull/push等这些操作中,LFS又通过LFS服务器把这些文件的真身给下载或上传回来
通过这样的手段,使得本地仓库的体积大大减小,而不会出现随着这些文件的版本增多而体积剧烈膨胀的情况
这种把存储负担转移给了服务器的做法,让其强依赖于LFS服务器,本地仓库并不是一个完整的仓库

使用目的

在游戏开发过程中,设计资源占用了很大一部分空间,像png、psd等文件是二进制(blob)的,体积也很庞大
但Git的diff/patch等是基于文件行的,对于二进制文件来说,Git需要存储每次commit的改动
每次当二进制文件修改,发生变化的时候,都会产生额外的提交量,导致clone和pull的数据量大增,在线仓库的体积也会迅速增长

没使用Git之前,一般二进制文件和源代码分成两块,分别存放到不同的SVN仓库上(防止二进制文件中有病毒感染服务器,所以进行隔离)
当切换到Git上进行版本管理,就可以使用git lfs来管理这些二进制文件,这样就可以让源码和二进制文件和谐共存于一处,从而不像以前那样,需要分别做两次更新

LFS(Large File Storage)就是为了解决这一问题而产生的工具,它将你所标记的大文件保存至另外的仓库,而在主仓库仅保留其轻量级指针
那么当检出版本时,根据指针的变化情况下更新对应的大文件,而不是在本地保存所有版本的大文件

安装

Windows下常用的Git for Windows和Source Tree都已经集成了LFS,无需另外安装,可以运行命令git lfs查看

注意:安装Git LFS需要Git的版本不低于1.8.5
Linux
  1. curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
  2. sudo apt-get install git-lfs
  3. git lfs install
Mac
  1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" // 安装HomeBrew 
  2. brew install git-lfs
  3. git lfs install
Windows
  1. 下载安装windows installer
  2. 运行windows installer
  3. 在命令行执行 git lfs install

使用

  1. 执行 git lfs install 开启lfs功能
  2. 使用 git lfs track 命令进行大文件追踪 例如git lfs track "*.png" 追踪所有后缀为png的文件
  3. 使用 git lfs track 查看现有的文件追踪模式
  4. 提交代码需要将gitattributes文件提交至仓库. 它保存了文件的追踪记录
  5. 提交后运行git lfs ls-files 可以显示当前跟踪的文件列表
  6. 将代码 push 到远程仓库后,LFS 跟踪的文件会以‘Git LFS’的形式显示
  7. clone 时 使用'git clone' 或 git lfs clone均可
首次使用
  • git lfs install:开启LFS功能 // 第一次使用前需要运行下git lfs install(只要运行一次,以后都不需要了)
日常使用
  • git lfs track ‘*.?’:进行大文件追踪 // 需要用LFS管理的文件要添加到追踪列表里,一般而言,可以把某个类型的文件统一用LFS管理,例如把dll文件用LFS管理git lfs track '*.dll'、追踪所有后缀为png的文件并把png文件用LFS管理git lfs track "*.png" - 此时,仓库的根目录下会自动创建.gitattribute文件,里面就记录了使用lfs的文件
  • git lfs track:查看现有的文件追踪模式 // 后续添加新的类型可以用git lfs track命令,也可以直接编辑.gitattribute文件 - 注意:.gitattribute文件需要添加到git仓库中进行版本管理
  • 文件追踪后,后续所有操作与Git普通操作一致
辅助命令
  • git lfs ls-files:查看当前有哪些文件是使用LFS管理的

 

转载于:https://www.cnblogs.com/YSPXIZHEN/p/11422473.html

使用Git LFS(Large File Storage)可以更好地管理大文件,以避免将它们包含在Git仓库中导致仓库过大的问题。下面是使用Git LFS的一些基本步骤: 1. 安装Git LFS:首先,您需要在您的计算机上安装Git LFS。您可以从Git LFS的官方网站(https://git-lfs.github.com/)下载适用于您操作系统的安装程序,并按照安装指南进行安装。 2. 配置Git LFS:安装完成后,您需要告诉Git LFS要跟踪和管理哪些大文件。在您的Git仓库目录中,运行以下命令配置Git LFS: ``` git lfs install ``` 3. 跟踪大文件:要跟踪某个大文件,您可以使用以下命令: ``` git lfs track <path_to_large_file> ``` 这将在.gitattributes文件中添加一个规则,指定要使用Git LFS来处理指定路径下的大文件。 4. 提交和推送:一旦您完成了对大文件的跟踪,您可以像正常提交和推送其他文件一样提交和推送您的更改。Git LFS会自动将大文件上传到Git LFS服务器,并在提交时替换为Git LFS的指针。 5. 克隆仓库和获取LFS对象:当您克隆带有Git LFS的仓库时,您需要获取LFS对象,即实际存储在仓库之外的大文件。在克隆后的仓库目录中,运行以下命令获取LFS对象: ``` git lfs fetch ``` 6. 检出文件:一旦您获取了LFS对象,您可以使用以下命令将文件检出到您的工作目录: ``` git lfs checkout ``` 这将从Git LFS服务器下载大文件并将其放置在正确的位置。 请注意,如果您只想下载特定的大文件而不是克隆整个仓库,可以使用`git lfs pull`命令,后跟特定的文件路径: ``` git lfs pull --include "<path_to_large_file>" ``` 这样,您就可以使用Git LFS来管理和下载大文件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值