雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

git push时报remote rejected shallow update not allowed 的问题

2024-08-03 64

今天在git push 代码的时候遇到一个问题:

Counting objects: 47, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (21/56), done.
Writing objects: 100% (17/58), 596.15 KiB | 0 bytes/s, done.
Total 56 (delta 11), reused 0 (delta 0)
remote: Resolving deltas: 100% (11/11), done.
To github.com:xxx/xxxx.git
 ! [remote rejected] master - master (shallow update not allowed)
error: failed to push some refs to git@github.com:xxx/xxxx.git

在stackoverflow 上找到的答案:
https://stackoverflow.com/questions/28983842/remote-rejected-shallow-update-not-allowed-after-changing-git-remote-url

根据提示,初步分析原因,提示的问题应该是浅拷贝,就是我们在git clone的时候,depth设置的太浅,没有全部的历史记录。
所以解决办法,应该是从原来的地址,把整个git库都clone一下即可。

问题的原因也就很清楚了,我在 clone 原仓库时用了 git clone --depth 1,导致本地为 shallow repo。
解决方法也很简单:

git fetch --unshallow origin

origin 就是原仓库,fetch 完后就能正常push 了。

更新于:3个月前
赞一波!1

文章评论

评论问答