从子模块获取远程找不到分支

问题描述 投票:1回答:1

我有一个GitHub存储库,已作为另一个存储库的子模块克隆到了我的计算机上。

我拥有所有文件并在本地提交,但在远程上,我的git客户端认为没有任何分支。 (git branch -r什么都不显示)

git fetch origin给出此结果:

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin
From https://github.com/Estecka/ChainMaths
 * branch            HEAD       -> FETCH_HEAD

Completed successfully.

但是实际上,我仍然找不到任何分支。

尝试推送我的本地更改成功运行,我可以在GitHub网站上看到我的更改,但是即使那样,我的git客户端仍然无法在远程上找到任何分支,即使是刚刚被推送的分支。

这不是我第一次遇到子模块问题,而且我从未在经典存储库中遇到过。

git git-submodules git-fetch
1个回答
0
投票

听起来您的子模块默认配置为不获取任何引用。当您在不指定要提取任何内容的情况下执行git fetch origin时,Git会读取remotes.origin.fetch变量并提供该变量。由于未指定任何内容,因此Git只会读取远程HEAD引用并将其填充到FETCH_HEAD中,在这种情况下,这不是您要查找的内容。

如果想要将远程磁头取到refs/remotes/origin的标准行为,则可以运行git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*,然后再次运行git fetch origin。如果您只想这样做一次,而不是默认情况下,则可以运行git fetch origin +refs/heads/*:refs/remotes/origin/*

© www.soinside.com 2019 - 2024. All rights reserved.