ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - Git大文件存储(LFS)解决源码库二进制文件托管问题

2022-05-09 12:34:23  阅读:191  来源: 互联网

标签:11 文件 git lfs Lib Windows Git LFS


背景

我们知道Git用来托管源码代码是非常轻量和方便的,但是因为一些实际需要,我们可以需要把一些第三方的组件的二进制文件、或者项目资料放到库里面一起,但是和源码比起来,这些东西都是大家伙,不仅体积巨大,而且会影响到Git的整体使用速度,为了解决这个问题,Git扩展了一个大文件存储的方案,名为Large File Storage, 简称LFS

image

什么是Git大文件存储(LFS)

https://git-lfs.github.com

Git大文件存储(Large File Storage, LFS) 将音频样本、视频、数据集和图形等大文件替换为Git内部的文本指针,同时将文件内容存储在GitHub.com或GitHub Enterprise等远程服务器上。

工作原理

如下图所示

image

安装Git大文件存储(LFS)

Windows下安装

Git For Windows中就已经包括了它,原则上不用额外安装。

git lfs --version

image

Linux下安装

sudo apt install git-lfs

初始化LFS

git lfs install

image

配置Git大文件存储(LFS)

Github默认容量

Github默认就送了1GB的Git LFS空间,用完还可以单独买,从Settings-Billing and Plans-Git LFS Data处可以看到使用和剩余情况。

image

勤学实战

https://github.com/TaylorShi/demoForGitLFS

创建示例项目demoForGitLFS

mkdir demoForGitLFS

Git初始化项目

将它进行初始化

git init

准备演示目录和文件

为了方便演示,我们在根目录创建一些文件

new-item 1.txt
new-item 1.dll
new-item 1.so
new-item 1.exe

image

另外我们最好往文件里面写入一些信息,必然它的大小将是零字节。

我们还创建一个目录,方便演示目录

mkdir Lib

接着我们在目录下面创建几个文件

cd Lib
new-item 1.so

我们也往里面写一些信息,避免零字节。

把指定目录加入追踪清单

git lfs track $targetDirName

比如,针对Lib这个子目录

如果需要包括Lib目录自身,那么采用

git lfs track Lib/**

image

如果不需要包括Lib目录自身,那么采用

git lfs track Lib/*

image

把指定格式的文件加入清单

git lfs track $targetFileExt

比如我想把dll格式的都加入清单,那么采用

git lfs track *.dll

image

查看被追踪的清单

当我们把文件加入追踪清单之后,我们留意到在项目内新增了一个文件,它叫.gitattributes,用来记录被加入追踪清单的规则。

image

查看被追踪的文件

想要查看哪些文件被追踪,也可以使用命令来列举

git lfs ls-files

image

按清单推送到代码库

我们需要找一个支持Git LFS的远程代码库,这里先以Github作为案例。

git push origin master

image

image

image

参考

标签:11,文件,git,lfs,Lib,Windows,Git,LFS
来源: https://www.cnblogs.com/taylorshi/p/16248742.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有