前言
最近需要在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
- 安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- brew install git-lfs
- git lfs install
Windows
- 下载安装windows installer
- 运行windows installer
- 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"
其他
-
git lfs ls-files
可以显示当前被lfs追踪的文件列表 -
git lfs track
查看现有的文件追踪模式 -
git lfs untrack "*xx.a"
取消git fls对xx.a的追踪管理 -
git lfs version
查看当前所用git lfs版本 -
git lfs pull
如果起之前拉代码时,没有同时获取lfs对象,之后又需要将被lfs追踪的文件时,可执行此命令来拉取
网友评论