Git LFS管理大文件

前言

最近需要在iOS或者macOS上调用Python,所以就找到了Python apple support这个github项目。Demo写完需要上传到github。由于libPython.a大于了100Mb,一直上传失败。然后就才学习到有git lfs这个工具。本着有工具用完,再多了解下的想法,就有了本篇笔记。

什么是git lfs

Git LFS(Large File Storage),用以帮助git管理比较大的文件。git的diff等是基于文件。对于二进制文件来说,git需要存储每次提交的变动。git fls对于追踪的文件只会保存一个指向其的指针。不会在本地仓库保存你每次提交的所有版本。对于历史提交版本,基本上我们都很少去动,不需要检出。所以这样极大的节省了空间和仓库拉取速度。
核心:把需要进行版本管理、但是占用很大空间的文件独立于Git仓库管理,加快clone仓库速度。

安装

lfs目前是git扩展,没有被加入git核心。所以就需要有个安装的步骤。
注意:安装git lfs需要 git版本>=1.8.2

Mac

  1. 安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. brew install git-lfs
  2. git lfs install

Windows

  1. 下载安装windows installer
  2. 运行windows installer
  3. git lfs install

使用

cd进项目目录
首先git lfs track ”XX“来告诉lfs需要处理哪些文件。

git lfs track "*.a"  // 追踪所有后缀为a的文件

此命令执行后,会在项目根目录下创建一个名为”.gitattributes“的文件。

cat .gitattributes      
xx.a filter=lfs diff=lfs merge=lfs -text

注意:.gitattributes文件是需要加入版本控制的。

git add .gitattributes
git add xx.a
git commit -m "Add xx.a"

其他

  1. git lfs ls-files 可以显示当前被lfs追踪的文件列表
  2. git lfs track 查看现有的文件追踪模式
  3. git lfs untrack "*xx.a" 取消git fls对xx.a的追踪管理
  4. git lfs version 查看当前所用git lfs版本
  5. git lfs pull 如果起之前拉代码时,没有同时获取lfs对象,之后又需要将被lfs追踪的文件时,可执行此命令来拉取

鸣谢

使用 LFS 处理大文件

你可能感兴趣的:(Git LFS管理大文件)