如何解决git子模块更新失败
我有一个名为 anecdotes 的元存储库,它有两个子模块 - utils 和 global-sync。全局同步中也有 utils 子模块。 在轶事 repo 中有 .gitmodules 文件,内容如下:
[submodule "globals-sync"]
path = globals-sync
url = https://github.com/organization/globals-sync.git
branch = master
[submodule "utils"]
path = utils
url = https://github.com/organization/utils.git
branch = master
全局同步 .gitmodules 文件内容为:
[submodule "utils"]
path = utils
url = https://github.com/organization/utils.git
utils repo 的默认分支是 develop,global-sync repo 的默认分支是 master(正如我所说,global-sync repo 包含 utils 子模块)。
git 版本是 2.30
现在 - 描述问题: 在 github 操作中,尝试从轶事 repo 部署。首先,我检查轶事 repo - 通过这样做,检查 repo 和子模块的操作(获取和克隆它) 此时 - global-sync 和 utils 存储库已正确检出(意味着 - 因为它正在轶事存储库中提交)
现在,我想将子模块更新为最新提交(在远程)所以我运行:
git submodule update --remote
立即失败并出现以下错误:
fatal: Needed a single revision
Unable to find current origin/master revision in submodule path 'utils'
在阅读了很多类似的问题后,我可以隔离问题:: here
通过 cd 到 utils 目录并获取有关 repo 的信息,我看到“master”分支不存在: “git branch -a”只列出开发分支
有什么想法吗?
- 我删除了轶事中的 utils 目录并克隆了它 - 问题仍然存在。
- 尝试在本地更新子模块 - 成功。
解决方法
问题是我没有在 yaml 文件中明确设置 fetch-depth。 默认fetch-depth为1,只需要加上0值即可(表示全部) 然后我就可以看到所有的树枝了。 用途:actions/checkout@v2 和: 令牌:${{secrets.GITHUB }} 子模块:'递归
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。