前言

AI横行,好久没做内容整理了,这不一转眼又到了月底,没挤出时间来做这部分,所以今天只能临时抱佛脚,赶紧用AI生成一篇,可是转念一想这样的意义何在,那样的话我这总结岂不是毫无用处了,所以还是算了,随便写一写也算不失本心,所以就把上周解决的一个问题拿来了

推送git库报错

看这个报错信息我已经见到很多次了
! [remote rejected] dev -> dev (pre-receive hook declined)
! [remote rejected] dev_2022 -> dev_2022 (pre-receive hook declined)

常规解决方案

之前的做法就是先推送lfs,再推送主库

git lfs push --all $reposurl
git push origin --all $reposurl

但是这次遇到的问题是推送lfs的时候,每次进度到1.2G就卡住不动,不论是客户端服务器都没找到有用的报错

进阶解决方案

经过探索找到以下方案:

先关闭服务器端LFS检查,客户端推送时不推送LFS,将所有分支先推上去,再处理lfs的问题,实践后可以

怎么关闭gitlab服务器上的lfs检查

● 两种方式,任选其一:

  • 方式一:项目级别关闭(推荐,影响范围小)
    GitLab Web 界面 → 进入 xxxx/yyyy 项目 → Settings → General → Visibility, project features, permissions → 把 Git Large File Storage (LFS) 开关关掉 → Save changes

  • 方式二:全局关闭
    GitLab Web 界面 → Admin Area(管理中心) → Settings → General → Visibility and access controls → 取消勾选 Allow
    projects to use Git LFS → Save changes


    关掉后执行推送,推完再用同样的路径打开即可:

  git push --all origin
  git push --tags origin    # 如果还有 tags 的话

关闭客户端检查的可以可以加–no-verify参数(已试过)或者GIT_LFS_SKIP_PUSH=1变量(还没试)

关闭lfs和务端客户端的配置后可以成功推送,至于后面的lfs,历史要还是不要,lfs用还是不用,根据具体需要处理吧

总结

  • 在遍地AI的今天,古法编程已经成了非物质文化遗产
  • lfs推送不上去就想办法去掉它,可以同时服务器和客户端的检查,把主库推送上去再考虑lfs

==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==

花开堪折直须折,莫待无花空折枝

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐