gpt4 book ai didi

git - 服务器不允许请求未公布的对象

转载 作者:行者123 更新时间:2023-12-03 21:18:09 57 4
gpt4 key购买 nike

我知道以前有人问过这个问题,但我找到了所有答案,只是为了给我一个快速解决问题的方法,或者对它为什么发生以及它是如何实际解决的一个令人困惑的解释。

这就是我遇到此错误的方式。我的一个队友将更改推送到我们仓库中的子模块。从主人那里 pull 出来后git status在我们的子模块中显示了新的提交:
modified: path/to/submodule/submodule_name (new commits)
所以我决定通过运行更新子模块
git submodule update path/to/submodule/submodule_name -- here is the doc for this command

此时我得到了错误

Fetched in submodule path 'path/to/submodule/submodule_name', but it did not contain ... Direct fetching of that commit failed

谷歌搜索后,我发现了我的问题的不同答案:
  • github
  • superuser
  • stackoverflow

  • super 用户是让我更接近于理解问题的链接,而 github 只是将运行命令交给我来修复它 -- git submodule sync
    现在,我仍然对我的 git status 中出现的变化感到有些困惑。然而,当我尝试更新服务器时并不知道提交。 git submodule sync 是什么意思?如何使该提交可用?

    最佳答案

    您的错误消息确实提到:

    dit did not contain ... Direct fetching of that commit failed

    这是在子模块原始克隆存储库中完成的典型提交......没有推回其远程存储库。
    但是子模块 repo 的新状态记录在父 repo 中,被推送。

    意思是:

    父 repo 引用了从未推送到子模块远程 URL 的子模块 repo 的提交:来自克隆的更新将:
  • 更新子模块引用
  • 尝试使用该引用更新子模块内容,但失败。

  • 您的队友确实推送了父 repo 更改(特别是子模块的新状态),但没有推送在该子模块中完成的提交。

    关于git - 服务器不允许请求未公布的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58088545/

    57 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com