如何使用 Git LFS 将大文件推送到 git 存储库
所以我最近正在做一个项目,我必须使用高分辨率资产,因此它们的尺寸很大。我无法将文件推送到我的存储库。每当我尝试时,我都会收到以下错误:
远程:错误:文件 file.csv 为 182.47 mb;这超出了 github 的文件大小限制 100.00 mb
远程:错误:gh001:检测到大文件。您可能想尝试 git 大文件存储 - https://git-lfs.github.com。
现在我们来谈谈 git 扩展 git lfs 以及如何使用它。
git large file storage (lfs) 是一个 git 扩展,旨在更有效地处理存储库中的大文件。
1。什么是 git?
git 是一个版本控制系统,可让您跟踪代码更改并与其他人协作。通常,git 将所有内容(文件、代码等)直接保存到您的存储库中,包括任何图像、视频或大型二进制文件。
2。为什么我们需要 git lfs?
默认情况下,git 存储所有内容,但高分辨率图像、视频或数据集等大文件可能会使您的存储库变得非常大且速度慢。每次您推送或拉取更改时,git 都会下载所有数据,这会花费时间并占用您计算机上更多的存储空间。
git lfs 旨在通过以下方式更有效地处理这些大文件:
3.git lfs 是如何工作的?
当您将大文件(例如视频或图像)添加到存储库时,git lfs 会将其替换为小指针文件。
指针文件告诉 git lfs 大文件实际存储在哪里。
当其他人克隆您的存储库或拉取更改时,他们将获得指针文件而不是大文件本身,除非他们明确拉取大文件。
4。 git lfs 入门
要开始在项目中使用 git lfs,请按照以下步骤操作:
1.安装git lfs:您需要在您的计算机上安装git lfs。对于大多数系统,这是通过运行以下命令来完成的:
git lfs install
2.跟踪大文件:安装后,您需要告诉 git lfs 要跟踪哪些文件(例如,所有 .png 文件或 _.mp4 _files)。这是使用 git lfs track 命令完成的:
git lfs track "*.png"
这告诉 git lfs 跟踪所有以 .png.
结尾的文件3.提交更改:运行 track 命令后,git lfs 创建一个 .gitattributes 文件,该文件定义要跟踪的文件的规则。您需要将此文件提交到您的存储库:
git add .gitattributesgit commit -m "track large files using git lfs"
4.添加并推送大文件:现在,当您添加大文件(例如视频或图像)时,git lfs 将自动管理它:
git add largefile.mp4git commit -m "add large video file"git push
注意
确保在提交大文件之前已经初始化并设置了 lfs,否则 git lfs 在推送时不会跟踪该文件。并且您将继续像以前一样收到错误。我刚开始使用 git lfs 扩展时也遇到了这个问题。
5。拉取大文件:
当有人克隆或拉取您的存储库时,他们将默认获得轻量级指针文件。如果他们想要实际的大文件,他们可以使用以下命令将其下拉:
git lfs pull
6。 git lfs 的好处
7。 git lfs 的缺点
请随意添加评论或问题。我很乐意回复他们