提交git时包含超过200M文件时git报错

今天上传git的时候遇到一个文件过大无法上传的情况

解决方案,使用Git LFS 管理大文件

Git LFS能够把大文件存到远程服务器,在仓库里仅保留轻量级的指针。

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git lfs install
Updated Git hooks.
Git LFS initialized.

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git lfs track "*.mp4" "*.zip" "*.img" "*.dat.br"
Tracking "*.mp4"
Tracking "*.zip"
Tracking "*.img"
Tracking "*.dat.br"

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git add .gitattributes

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git commit -m "添加Git LFS跟踪配置"
[master 3205cdd] 添加Git LFS跟踪配置
 1 file changed, 4 insertions(+)
 create mode 100644 .gitattributes

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git lfs migrate import --include="*.mp4,*.zip,*.img,*.dat.br"
migrate: override changes in your working copy?  All uncommitted changes will be lost! [y/N] migrate: override changes in your working copy?  All uncommitted changes will be lost! [y/N] y
migrate: changes in your working copy will be overridden ...
migrate: Fetching remote refs: ..., done.
migrate: Sorting commits: ..., done.
migrate: Rewriting commits: 100% (3/3), done.
  master        xxx -> xxx
migrate: Updating refs: ..., done.
migrate: checkout: ..., done.

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git add .

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git commit -m "使用Git LFS管理大文件"
On branch master
nothing to commit, working tree clean

GX@DESKTOP-U8BCJOE MINGW64 /e/...gx/code/UnmannedVehiclePro (master)
$ git push -u origin master
xxxUploading LFS objects:   0% (0/1), 0 B | 0 B/s                 Uploading LFS objects: 100% (23/23), 3.5 GB | 12 MB/s, done.
Enumerating objects: 320, done.
Counting objects: 100% (320/320), done.
Delta compression using up to 16 threads
Compressing objects: 100% (307/307), done.
Writing objects: 100% (320/320), 91.08 MiB | 6.46 MiB/s, done.
Total 320 (delta 78), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (78/78), done.
To https://codeup.aliyun.com/xxx/ugvms/ugvms-all.git
 * [new branch]      master -> master
branch 'master' set up to track 'origin/master'.

总结:

# 1. 安装Git LFS(若尚未安装)
# Ubuntu/Debian: sudo apt-get install git-lfs
# macOS: brew install git-lfs
# Windows: 从官网下载安装程序

# 2. 初始化Git LFS
        git lfs install

# 3. 对大文件类型进行跟踪
        git lfs track "*.mp4" "*.zip" "*.img" "*.dat.br"

# 4. 提交.gitattributes文件
        git add .gitattributes
        git commit -m "添加Git LFS跟踪配置"

# 5. 把已存在的大文件转换为LFS对象
        git lfs migrate import --include="*.mp4,*.zip,*.img,*.dat.br"

# 6. 重新提交并推送
        git add .
        git commit -m "使用Git LFS管理大文件"
        git push -u origin master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值