使用 Git LFS 上傳大型檔案

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

Git LFS(大型文件存储)用于处理大型二进制文件,提升Git性能。它将超过50MB的文件存储在远程服务器上,从而节省空间并提高效率。安装后,使用`git lfs track`命令跟踪大文件,并生成`.gitattributes`文件。可通过`git lfs pull`下载LFS文件。

🔎

延伸解读

为什么需要 Git LFS

传统 Git 主要针对文本文件设计,处理大型二进制文件时性能较差。当克隆仓库时,Git 默认下载所有历史版本和文件,可能导致存储空间浪费和性能下降。Git LFS 将大型文件存储在远程服务器上,仅在需要时下载,从而提升性能并节省空间。GitHub 建议将超过 50MB 的文件转换为 LFS 跟踪。

安装与初始化要点

在不同操作系统上安装 Git LFS 后,必须在项目终端执行 git lfs install 命令,以确保 Git 支持 LFS。成功后会显示 'Updated Git hooks. Git LFS initialized.'。这一步是后续使用 LFS 功能的前提,不可省略。

跟踪与配置机制

使用 git lfs track 命令指定要跟踪的大文件,例如 model.onnx,这会在项目根目录生成 .gitattributes 文件。该文件记录了 LFS 的处理规则,如 'model.onnx filter=lfs diff=lfs merge=lfs -text',告诉 Git 以二进制方式处理该文件。跟踪后,按常规 git add、commit、push 流程操作即可。

使用技巧与注意事项

可以通过 git lfs track *.onnx 跟踪所有特定扩展名的文件,使用 git lfs track 查看当前跟踪列表,用 git lfs untrack 取消跟踪。在另一台电脑克隆项目后,需执行 git lfs pull 以下载 LFS 文件。注意 GitHub 免费账户每月有 1GB 的 LFS 额度,超出可能产生费用。

❓

Q&A

什么是Git LFS,它的主要功能是什么?

Git LFS(大型文件存储)用于处理大型二进制文件,提升Git性能,将超过50MB的文件存储在远程服务器上。

如何安装Git LFS?

根据操作系统不同,Linux使用命令`curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash`和`sudo apt-get install git-lfs`,MacOS使用`brew install git-lfs`,Windows下载安装包并运行安装程序。

如何在项目中使用Git LFS跟踪大文件?

在项目文件夹中初始化Git后,使用`git lfs track <文件名>`命令跟踪大文件,并生成`.gitattributes`文件。

如何查看当前被Git LFS跟踪的文件?

可以使用命令`git lfs track`来查看当前正在使用Git LFS追踪的文件。

如何取消对某个文件的LFS跟踪?

使用命令`git lfs untrack <文件名>`可以取消对某个文件的LFS跟踪。

如何下载LFS文件到另一台电脑?

在另一台电脑上克隆项目后,执行`git lfs pull`命令以确保下载LFS文件。

🏷️

标签

➡️

继续阅读