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

转载自  https://blog.csdn.net/10km/article/details/80308199


周末在家里做了一些工作,周一到办公室,执行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?》

版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/80308199
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值