Git LFS 好用的大文件储存工具?

需求

最新使用通义千问-14B-对话-Demo 模型,由于代码比较大,所以需要使用Git lfs克隆项目空间

git lfs install
git clone http://oauth2:@www.modelscope.cn/studios/Tinywan/wiot.git

简介

Git Large File Storage(LFS)是Git的一个扩展,它允许向Git仓库存储和管理大型二进制文件。对于软件开发中使用大型的图像、音频文件等,Git LFS非常有用。本文将详细介绍如何安装和使用Git LFS。本篇文章将解释Git LFS是什么,它的功能和使用场景,以及它究竟是不是管理大文件的最佳版本控制工具。

安装

前提条件

在安装Git LFS之前,需要基于Git已经安装并配置好了SSH密钥连接到GitHub或其他代码仓库。

在Windows上,需要将Git LFS作为一个额外的包安装到Git中。如果使用Windows下的Linux系统,可以像在Linux中一样直接安装Git LFS。

在Linux上,可以通过软件包管理器(如yum或apt)安装Git LFS。

Windows下使用Git LFS的安装示例

以下演示的是如何在Windows系统上安装和使用Git LFS。

1. 安装Git LFS

下载 Git LFS 最新的 Windows 安装包并安装(下载地址:https://git-lfs.github.com/)。

git lfs install

运行以上命令,Git LFS 就被添加到了 Git 命令行中。

2. 大文件跟踪

需要将大文件添加到 Git LFS 跟踪列表中,才能对其进行跟踪。在 Git 仓库所在的文件夹中运行以下代码。

git lfs track "*.jar"

“*.jar”代表需要跟踪的文件,类似的后缀名都可以使用。运行此命令将生成一个名为.gitattribute的文件,可以使用cat查看:

cat .gitattributes

您可以使用“-l”选项列出该仓库为哪些扩展名或文件模式启用Git LFS。

3. 提交代码

当您添加、修改或删除大文件时,Git LFS 将监视这些文件,并自动替换为Git LFS 指示文件。在执行添加、提交和推送操作之前,使用以下命令审核将要提交的大文件清单。

git lfs ls-files

Linux下使用Git LFS的安装示例

以下演示的是如何在Linux上安装并使用Git LFS。

1. 安装Git LFS

在Linux系统中使用以下命令安装Git LFS。

sudo apt install git-lfs

2. 大文件跟踪

使用以下命令来跟踪大文件。

git lfs track "*.zip"

3. 提交代码

在提交大文件之前,使用以下命令来审核将要提交的大文件清单。

git lfs ls-files

Git LFS存储如何工作?

Git大文件存储使用指针来引用文件,而不是将实际文件或二进制大对象(blobs,一种将二进制文件存储为一个实体的数据类型) 存储在Git存储库本身中。

因此,大文件/二进制大对象不会被直接写入Git存储库,而是被写入一个指针文件。文件/二进制大对象本身会被写入一个单独的服务器,称为LFS存储库。通过这种方式,可以对大文件进行版本控制,以及管理二进制大对象,同时释放Git存储库的空间。

应该使用Git LFS吗?

如果您需要在Git中管理大文件或二进制文件,那么可以考虑使用Git LFS。(但是,如果您的团队中有美术人员和设计师,需要对他们的大型二进制艺术文件进行版本控制,那么您可能不希望使用Git LFS。关于这一点,我们将在下一节中详细讨论。)

使用Git LFS或其他替代方案的原因是,Git是一种分布式版本控制系统,每个开发人员在本地计算机上都有完整的变更历史记录。对大型二进制文件进行更改会导致什么?每次更改文件并提交后,Git 存储库的规模都会根据文件的大小而增加。这意味着获取文件会花费很长时间,并且很难对这些二进制文件进行版本控制和合并。

因此,每当文件增长时,Git存储库也会增长,这会导致Git用户在检出和克隆存储库时出现性能下降的情况。

Git LFS是为解决这些问题而创建的,但它自身也存在一些问题和限制。

Git LFS的问题

Git LFS虽然有效,但许多使用它的团队发现其管理起来较为困难。以下是考虑寻找Git LFS替代方案的一些原因:

设置Git LFS非常耗时

要使用Git LFS,每个用户都必须在其服务器和工作站上安装它。这样做很耗时,对管理员来说也是一种负担。而且一旦安装完成,对Git LFS的可见性和控制性都较低。

维护Git LFS需要额外的步骤

维护Git LFS需要额外的步骤,因为您必须为每个Git存储库(即每个Git项目)设置Git LFS。这意味着每个存储库都需要安装Git LFS,您还需要告诉LFS要跟踪的文件类型,然后将跟踪信息添加到存储库中,以便在提交该类型的文件时,它将被放置在LFS存储库中。对于还不太了解Git的用户来说,这颇具挑战性。


原文始发于微信公众号(开源技术小栈):Git LFS 好用的大文件储存工具?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/248398.html

(0)
李, 若俞的头像李, 若俞

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!