Git LFS的使用

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

使用目的

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

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

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

使用

  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的使用的更多相关文章

  1. 如何使用 Git LFS 提交大文件?

    参考资料: An open source Git extension for versioning large files Git LFS的使用 如何使用 Git LFS 提交大文件? Git LFS ...

  2. 未安装git lfs导致git下载不完整,没有错误提示

    git clone命令没有报错. --recursive选项也加上了. cmake命令没有报错 make命令出错. 最后发现是因为没有安装git lfs,导致大文件下载不完整.最坑的是下载的时候也没有 ...

  3. GIT LFS 使用笔记

    一.背景 由于git上传文件大小受限,所以我们需要使用GIT LFS对大小超过一定上限的大文件进行处理. 二.安装 linux上安装参见 https://askubuntu.com/questions ...

  4. git lfs

    https://git-lfs.github.com/ 1.从这个网址下载git-lfs-windows-amd64-1.1.0.exe,运行这个安装包 2.然后打开git bash 输入git lf ...

  5. git lfs指令解决git status显示lib文件被修改,但是没有修改的问题。此时,git checkout没有用。

    $ git lfs migrate import --everything --include='*.LIB'https://github.com/git-lfs/git-lfs/issues/283 ...

  6. git lfs setpu(4)

    reference: https://packagecloud.io/github/git-lfs/installhttps://zzz.buzz/zh/2016/04/19/the-guide-to ...

  7. 更好的在 Git 项目中保存大文件(Git LFS 的使用)

    珠玉在前, 大家可以参考 Git LFS的使用 - 简书 为什么要用 Git LFS 原有的 Git 是文本层面的版本控制, 为代码这种小文件设计的, 保存大文件会导致 repo 非常臃肿, push ...

  8. apline无法向gitlab上传git lfs问题

    1 背景 在k8s中基于alpine做底层系统的容器进行git lfs push操作时,发现报错无法上传成功 Fatal error: Server error: http://git.ops.xxx ...

  9. Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库

    转载自:https://cloud.tencent.com/developer/article/1010590 1.Nexus OSS 3 介绍 我们知道 Nexus 是一个强大的 Maven 仓库管 ...

随机推荐

  1. Sublime Text 添加C/C++环境

    轻巧便捷的sublime text 3代码编辑功能非常强大,不过作为一款代码编辑软件,我们要是让它能把我们的c或者c++代码run起来,变成一个轻量级编译器那就更好了!今天来给大家说一下怎么在subl ...

  2. mac OS下 安装MySQL 5.7

    Mac OS X 下 TAR.GZ 方式安装 MySQL 5.7 与 MySQL 5.6 相比, 5.7 版本在安装时有两处不同: 1:初始化方式改变, 从scripts/mysql_install_ ...

  3. 下拉框选择 <from:select>

  4. Java流对象:InputStream、OutputStream、Reader、Writer

    流对象使用完一般要用close方法关闭.释放资源. InputStream 和OutPutStream 二者都是字节输入和输出的抽象父类,子字节为单位处理数据,每次读取.写入一个字节,适合处理二进制文 ...

  5. 什么是N+1查询?

    在Session的缓存中存放的是相互关联的对象图.默认情况下,当Hibernate从数据库中加载Customer对象时,会同时加载所有关联的Order对象.以Customer和Order类为例,假定O ...

  6. springboot系列(三) 启动类中关键注解作用解析

    一.Springboot:请求入口 @SpringBootApplication @EnableAspectJAutoProxy @EnableScheduling @EnableTransactio ...

  7. c# Format() 方法

  8. vSphere

    VMware vSphere集成容器(VIC)建立了一个在轻量级虚拟机内部署并管理容器的环境.全新的虚拟机环境提供了更高级别的硬件隔离度,灵活性以及可扩展性使得容器对开发人员以及企业应用具有如此大的吸 ...

  9. Linux学习之七-配置Telnet连接Linux服务器

    配置Telnet连接Linux服务器 通过telnet可以从windows平台访问linux 服务器 ,实现和ssh 客户端一样的效果,区别在于通过ssh连接更安全. 检查Linux系统中是否安装了t ...

  10. Bert-util安装

    转载:https://blog.csdn.net/u013109501/article/details/91987180 https://blog.csdn.net/Vancl_Wang/articl ...