git submodule update报错: error: Server does not allow request for unadvertised object

周末在家里做了一些工作,周一到办公室,执行git更新办公室电脑上的代码时,报错了

git submodule update --init faceapi-rpc-cpp/dependencies/common_source_cpp/
error: Server does not allow request for unadvertised object 50db78feb453236961657c9f2ff8c50ed0bbebaf
Fetched in submodule path ‘faceapi-rpc-cpp/dependencies/common_source_cpp’, but it did not contain 50db78feb453236961657c9f2ff8c50ed0bbebaf. Direct fetching of that commit failed.

怎么也没想明白是怎么回事儿,
在网上找了半天也没有找到解决办法,但大概知道就是在更新子模块时,服务器上找不到submodulecommon_source_cpp指定的commit 50db78feb453236961657c9f2ff8c50ed0bbebaf.
怎么会找不到提交呢?我笔记本上的代码都提交了呀。
其实就是项目主模块记录的submodule中的提交50db78feb453236961657c9f2ff8c50ed0bbebaf在服务器上的submodulecommon_source_cpp中并不存在。
想到这里我明白原因了:
我在家里工作时主项目的代码push到了git server,但忘记将submodule common_source_cpp也push到git server.
所以造成主项目中记录的submodule的HEAD超前,所以找不到指定的commit.

解决办法很简单:回头到笔记本上把submodulecommon_source_cpppush一下

再执行 git submodule update 就正常了。

参考资料

[《What does the git error message “Server does not allow request for unadvertised object” mean?》][1]
[1]:https://superuser.com/questions/1240216/what-does-the-git-error-message-server-does-not-allow-request-for-unadvertised

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值