Github 跟踪大文件
GitHub 对于仓库的大小有限制,通常情况下单个文件不能超过 100 MB。但是,GitHub允许你上传大文件,方法是使用 Git Large File Storage (LFS 大文件存储)。 |
|---|
Windows配置: 以下是使用 Git LFS 上传大于 100 MB 的文件到 GitHub 的步骤 1.先进入本地Git仓库,安装 Git LFS。可以在 Git LFS 的官方网站上找到安装指南 2.初始化 Git LFS仓库(如果还没有初始化的话):(只需要初始化一次就可以) |
|---|
3.配置 Git LFS 跟踪大文件:使用以下命令告诉 Git LFS 跟踪特定文件类型的大文件
*.type替换为你想要跟踪的文件类型或者文件名。例如,如果你想跟踪所有的 PDF 文件,你可以使用 *.pdf。 |
|---|
| 4.添加和提交大文件:使用常规的 Git 命令 git add 和 git commit 将大文件添加到 Git LFS 管理中。例如: |
|---|
1 2
| git add .gitattributes large_file.ext git commit -m "Add large file using Git LFS"
|
注意:git lfs track 的规则写在 .gitattributes 里,该文件必须与大文件一起提交,否则他人克隆后拿不到大文件内容。
| 5.推送到远程仓库:常规推送即可,Git 会自动把被 LFS 跟踪的文件上传到 LFS 存储。 |
|---|
1 2
| sudo apt-get install git-lfs # 安装git-lfs git lfs install # 初始化
|
| 有如下提示,表示安装成功
git-lfs/3.4.1 (GitHub; linux amd64; go 1.22.2)
git version 2.45.2 |
| 安装成功后,跟踪、提交、推送大文件的步骤与上文 Windows 第 3~6 步相同。 |
|---|
Gitee 跟踪大文件
Gitee 个人免费版不支持 Git LFS(仅企业版标准/尊享套餐支持),因此不能照搬上文 GitHub 的 LFS 方案。
免费版限制:单文件 ≤ 100 MB、单仓库 ≤ 1 GB、单次 push ≤ 200 MB(超过会报 413 错误)。
方案一:7-Zip 分卷压缩(推荐)
把大文件切成 50 MB 的分卷后提交入库:
1
| "C:\Program Files\7-Zip\7z.exe" a -v50m bigfile.7z bigfile.iso
|
本地克隆后只需解压第一卷,会自动合并其余分卷:
1
| "C:\Program Files\7-Zip\7z.exe" x bigfile.7z.001
|
方案二:Release 附件
在 Gitee 网页创建 Release,把大文件作为附件上传,不占仓库容量,适合版本发行场景。
方案三:升级企业版使用 Git LFS
企业版标准/尊享套餐支持 Git LFS,命令与上文 GitHub 方案完全相同。
用系统自带 split 分卷(无需安装第三方工具):
1
| split -b 50m bigfile.iso bigfile.part- # 切成 50M 分卷
|
克隆后合并还原:
1
| cat bigfile.part-* > bigfile.iso
|
其余限制与方案同 Windows(Release 附件 / 企业版 LFS)。
原理: Git LFS:Git LFS(Large File Storage)是一个扩展工具,用于管理大文件。它允许你将大文件存储在 Git 仓库之外,并在仓库中保留文件的引用。通过使用 Git LFS,你可以上传和管理大文件,而不受 GitHub 文件大小限制的影响。 Git LFS 官方网站(https://git-lfs.github.com/) 使用 LFS 时,仓库里只保存很小的”指针文件”,实际内容存放在独立的 LFS 服务器,克隆时按需下载。 平台支持差异:GitHub 全面支持 LFS(免费额度约 1 GB 存储 + 1 GB 流量/月);Gitee 免费版不支持 LFS,仅企业版支持。 |
|---|