Please enable Javascript to view the contents

Git大文件上传-LFS

 ·  ☕ 2 分钟

介绍

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

仓库本身也可以存储二进制文件,但是Git需要存储每次commit的改动.每次当二进制文件修改,发生变化的时候. 都会产生额外的提交量.导致clone和pull的数据量大增.在线仓库的体积也会迅速增长.
LFS(Large File Storage) 就是为了解决这一问题而产生的工具.它将你所标记的大文件保存至另外的仓库,而在主仓库仅保留其轻量级指针.那么在你检出版本时,根据指针的变化情况下更新对应的大文件.而不是在本地保存所有版本的大文件。

1. 命令行使用方法如下:

执行 git lfs install 开启lfs功能
使用 git lfs track 命令进行大文件追踪 例如git lfs track "*.png" 追踪所有后缀为png的文件
使用 git lfs track 查看现有的文件追踪模式
提交代码需要将gitattributes文件提交至仓库. 它保存了文件的追踪记录
提交后运行git lfs ls-files 可以显示当前跟踪的文件列表
将代码push到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示:
clone 时 使用git clonegit lfs clone均可

2. 常用的Git图形化界面工具如下:

  • Git GUI

Git自带的图形界面工具,功能较简单,没有lfs的功能

git_gui

  • GitHub for Desktop

Github官方工具,支持Win/Mac,支持LFS

检测到.gitattributes文件的设置之后,会启用LFS,但是不能从客户端内进行LFS的操作,只能通过命令行,所以算是部分支持LFS
github_for_desktop

  • Source Tree

支持Win/Mac,支持LFS

  1. 启用LFS
    source_tree
  2. 设置需要跟踪的文件类型
    source_tree
  3. 正常操作即可
  • Smart Git

支持Win/Mac/Linux,支持LFS

  1. 启用LFS
    smart_git
  2. 设置需要跟踪的文件类型
    smart_git
  3. 正常操作即可
  • tortoiseGit

支持Win,不支持LFS,是资源管理器的扩展工具,需要在文件夹上右键点击才能看到相关命令
tortoiseGit

  • Gitkraken

支持Win/Mac/Linux,没有LFS支持
gitkraken

总结:以上的图形客户端都能实现基本的Git操作,其中GithubDesktop部分支持LFS,SourceTree,SmartGit支持LFS功能,可以选择自己熟悉的来使用。

分享

三排三号
作者
三排三号
Backend Programmer