Git 是一种流行的版本控制系统,用于管理代码存储库。但是,Git 的一个限制是它不适用于处理大型文件,例如媒体文件或二进制文件。当用户尝试将大型文件添加到 Git 存储库时,可能会导致性能问题并降低整个系统的速度。尝试推送大于 100 MB 的文件将导致错误“this exceeds GitHub's file size limit of 100.00 MB”。
值得庆幸的是,Git LFS(大文件存储)是一个 Git 扩展,它为大文件提供了 Git 存储库存储的替代方案。Git LFS 不会将实际文件内容存储在 Git 存储库中,而是存储指向存储在其他地方的大文件的指针文件。
在本文中,我们将探讨如何使用 Git LFS 在 Git 存储库中存储大文件。
安装
要使 Git 与 LFS 配合使用,您需要在系统上安装它。您可以从官方Git LFS 网站下载 Git LFS 。下载后,您可以使用以下命令安装 Git LFS:
git lfs instal
配置
安装 Git LFS 后,您需要配置您的 Git 存储库以使用它。您可以通过运行以下命令来执行此操作(注意 *):
git lfs track "*.fasta"
确保 .gitattributes 被跟踪:
git add .gitattributes
现在,扩展名为 .fasta 的文件将由 Git LFS 管理。.fasta 格式是一种用于存储生物序列数据(例如 DNA 和蛋白质序列)的文件格式。这些文件可能非常大。在我的研究中,典型的数据矩阵将包含数百万行(单个 RNA 序列)和数千列(每个序列的长度)。
添加大文件
现在您已配置 Git LFS 来跟踪大文件,您可以将其添加到 Git 存储库中。要添加大文件,只需像平常一样使用“git add”命令:
git add file_name.fasta
当你运行此命令时,Git LFS 将拦截它并用指针文件替换大文件。大文件的实际内容将存储在 Git 存储库之外。
提交并推送变更
将大文件添加到 Git 存储库后,您可以像平常一样提交和推送更改:
git commit -m "Added file_name.fasta"
git push"
问题
如果您的 Git LFS 文件未正确上传,请尝试以下操作:
- 打开终端。
- 重新安装 Git LFS。
git lfs install
3. 推送所有引用的 Git LFS 文件。
git lfs push --all origin
升级存储限制
Git LFS 的每月带宽配额和总存储容量均为 1GB。可以通过购买套餐升级存储。每个套餐每月收费 5 美元,并提供额外的 50 GB 带宽和 50 GB 存储空间。更多信息可在此处找到。
结论
Git LFS 是管理 Git 存储库中大型文件的强大工具。通过使用 Git LFS,您可以将大型文件存储在 Git 存储库之外。这可以提高性能并减少 Git 存储库大小。如果您在 Git 中处理大型文件,Git LFS 绝对值得考虑。