&引用;在.gitmodules";中找不到子模块路径的url;Azure DevOps生成中出错
回购协议(“网站”)有一个子模块(“模板”)。子模块在repo的目录中引用。目标是使用Azure DevOps管道一起构建repo和子模块。但是,Azure DevOps构建引发以下错误:&引用;在.gitmodules";中找不到子模块路径的url;Azure DevOps生成中出错,git,azure,azure-pipelines,Git,Azure,Azure Pipelines,回购协议(“网站”)有一个子模块(“模板”)。子模块在repo的目录中引用。目标是使用Azure DevOps管道一起构建repo和子模块。但是,Azure DevOps构建引发以下错误: 致命:在.gitmodules中找不到子模块路径“/”的url [错误]Git子模块更新失败,退出代码:128 根据对.gitmodule文件的调整,也会引发此错误: 致命:在路径“/”的.gitmodules中找不到子模块映射。 这个问题与其他关于堆栈溢出的问题类似,但区别在于Azure DevOp
致命:在.gitmodules中找不到子模块路径“/”的url
[错误]Git子模块更新失败,退出代码:128
.gitmodule
文件的调整,也会引发此错误:
致命:在路径“/”的.gitmodules中找不到子模块映射。
git rm--cached
)
“网站”和“模板”回购协议位于同一Azure DevOps项目中
我试过两种方法都没有成功。两者都基于Microsoft文档。这是因为我不清楚是否可以在不提供明确凭证的情况下将同一项目的子模块包括在回购协议中
- “清理选项”:“所有生成目录”
- “签出子模块”:True
- 分支包含一个.gitmodule文件:True
$AUTH=$(echo -n ":$(PAT)" | openssl base64 | tr -d '\n')
git -c http.https://dev.azure.com/organization/project/_git/template.extraheader="AUTHORIZATION: basic $AUTH" clone https://dev.azure.com/organization/project/_git/template --no-checkout --branch master
及
- 在没有.gitmodules文件的分支和有.gitmodules文件的分支上测试失败的构建
- 在Bash和PowerShell(稍微调整)中测试的构建任务均未成功
- 测试Azure DevOps repo URL的各种结构失败(如
https://organization.visualstudio.com/project/_git/repo
,
,等等)https://$(PAT)@organization.com.visualstudio.com:/project/\u git/template
submodule update
命令之前执行git submodule add
,在Bash任务中运行ls-lR
,以调查是否下载了子模块文件(即使文件丢失,构建任务有时也表示成功),还有无尽的.gitmodules文件变体
如.gitmodules现在所示(未成功):
[子模块“模板”]
路径=/
url=https://dev.azure.com/organization/project/_git/template
变化包括:
[子模块/模板]
path=D:\\a\\1\\s\\\
path=$env:Build.sources目录/模板
url=../project/\u git/template
我真的被困住了,很欣赏任何见解。谢谢。我不确定这是否有帮助,但对于重新定位的子模块(从存储库中的/my submodule移动到/src/my submodule),我遇到了相同的错误。通过执行git rm--force/my子模块,提交并推送到远程解决了这个问题
我发现使用
git子模块status
有助于本地检查子模块状态是否正确。我尝试git rm
后,它停止报告错误“致命:在.gitmodules中找不到子模块路径“我的子模块”的url”根据搜索结果,[submodule“here”]中的值应该与路径的值相同。喜欢或者这是可选的。
git -c http.https://dev.azure.com/organization/project/_git/template.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" submodule update --init --recursive
[submodule "template"]
path = <repo directory AKA "website">/<submodule directory AKA "template">
url = https://dev.azure.com/organization/project/_git/template