如何将带有LFS对象的git仓库推送到gitlab

笔者最近碰到一个开源项目想学习下,按照以往的套路,先clone到本地,然后push到gitlab,结果冒出这么一个报错:

git push

Enumerating objects: 8563, done.

Counting objects: 100% (8563/8563), done.

Delta compression using up to 8 threads

Compressing objects: 100% (2614/2614), done.

Writing objects: 100% (8563/8563), 4.40 MiB | 19.35 MiB/s, done.

Total 8563 (delta 5526), reused 8563 (delta 5526)

remote: Resolving deltas: 100% (5526/5526), done.

remote: GitLab: LFS objects are missing. Ensure LFS is properly set up or try a manual "git lfs push --all".

To http://192.168.1.10:8083/xxx/xxx.git

! [remote rejected] main -> main (pre-receive hook declined)

error: failed to push some refs to 'http://192.168.1.10:8083/xxx/xxx.git'

用chatgpt plus + deep research试了下也没跑通,这个有时候好用,有时候不行,有点心疼每月20美金的费用值不值。

后来改用另外一个免费的AI, WOC,跑通了,可能是我之前弄来弄去搞复杂了,其实很简单,这里做下记录以备以后碰到类似的项目能节约时间。

第一步 git lfs clone

复制代码
git lfs clone https://github.com/xxx/xxx.git

第二步 git lfs fetch

复制代码
 git lfs fetch --all


会出现类似下面的消息
fetch: 5 object(s) found, done.
fetch: Fetching all references...


或者你也可以fetch指定的分支

git lfs fetch origin main

响应消息
fetch: Fetching reference refs/heads/main

第三步 确保gitlab启用LFS

复制代码
登录gitlab后台

修改文件 /etc/gitlab/gitlab.rb

设置LFS启用
gitlab_rails['lfs_enabled'] = true

重新配置GitLab
sudo gitlab-ctl reconfigure

确保要推送的gitlab仓储的LFS启用,一般默认是启用的

第四步 git remote add

复制代码
git remote add gitlab http://192.168.1.10:8083/xxx/xxx.git

第五步 git push

复制代码
git push gitlab --all

第五步 git lfs push

复制代码
git lfs push gitlab --all


会出现类似下面的消息

Locking support detected on remote "gitlab". Consider enabling it with:
  $ git config lfs.http://192.168.1.10:8083/xxx/xxx.git/info/lfs.locksverify true
Uploading LFS objects: 100% (5/5), 130 MB | 0 B/s, done.

搞定!

相关推荐
rannn_1111 天前
【Git教程】概述、常用命令、Git-IDEA集成
java·git·后端·intellij-idea
一念一花一世界1 天前
Arbess从基础到实践(25) - 集成GitLab+阿里云OSS实现Java项目自动化构建并将制品上传Aliyun OSS
java·阿里云·gitlab·cicd·arbess
春日见1 天前
虚拟机上由于网络问题无法正常git clone
linux·服务器·网络·人工智能·git·ubuntu·debug
冉佳驹1 天前
Linux ——— Git的核心操作流程、进程状态及环境变量相关知识
linux·git·进程·环境变量·进程状态·fork
cherry有点甜·1 天前
【git】git为什么会出现双向合并
git
笨鸟不是菜鸟1 天前
gitignore文件如何添加忽略文件或文件夹
git
灰色人生qwer1 天前
git add . 添加超长文件名报错了怎么办?
git·python·elasticsearch
星海拾遗1 天前
git rebase记录
大数据·git·elasticsearch
ljh5746491191 天前
PhpStorm 2022.3 版本中,修改使用 Git 提交时看到弹出式的对话框模式
ide·git·php·phpstorm
云闲不收2 天前
git rebase
git