背景:
目前 naver map sdk 包体积太大 使用Git直接管理会导致仓库的体积迅速膨胀,进而导致Git的许多操作变慢,同时也影响仓库上传到远程端,故naver官方采用了git大文件储存服务,开发者对应也需要进行git大文件下载的配置。
Git LFS相当于Git的一种插件式增强工具,简单讲,它是在Git仓库使用这些文件的 指针代替 实际文件,而把实际文件存储在远程端LFS服务器,同时在本地仓库中实时追踪这些文件的变动。
image
原理:
根据 Git LFS 官方帮助文档描述:
Git LFS是基于Git的 .gitattributs 配置文件的特性,用 smudge过滤器基于 指针文件寻找大文件内容, 用 clean过滤器在对大文件改动时,创建指针文件的新版本。同时还用 pre-push钩子将大文件上传到Git LFS服务器, 即在 git-push时, 如果提交中包含被LFS跟踪的大文件,pre-push钩子会检测到,并执行上传Git LFS服务器的动作。
具体参考git-lfs使用说明。
配置方法:
brew install git-lfs
git lfs install
cd 项目文件夹
pod cache clean --all
git lfs track files
git add .gitattributes
pod install
注意:如果项目中已经导入了相关sdk,会导致大文件无法拉取,需要先注释掉相关sdk,执行
pod install删除sdk 然后pod cache clean --all清理下pod缓存 再打开注释 重新
pod install就可以了
</article>
网友评论