gpt4 book ai didi

git - Azure-Functions:需要信用的子模块:致命:无法读取用户名

转载 作者:太空狗 更新时间:2023-10-29 14:11:21 25 4
gpt4 key购买 nike

我有一个 Azure Function App,设置为从 VisualStudio.com Team Services git 存储库持续部署。它利用子模块。其中一个子模块已在 GitHub 上公开提供,并且可以完美加载,没有任何问题。

另一个子模块受到 VisualStudio.com Team Services Git 存储库的保护(与主存储库位于同一帐户下)。该子模块在部署时出错。

Based on information provided by Microsoft ,子模块通过以下两个 git 命令启动:

git submodule sync
git submodule update --init --recursive --force

第一个命令似乎执行正确,而第二个命令似乎出错了。以下是输出:

Cloning into 'secure-submodule'...
Fatal: COMException encountered.\r
bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for ''https://myVSStudio.visualstudio.com': Invalid argument
fatal: clone of 'https://myVSStudio.visualstudio.com/DefaultCollection/_git/secure-submodules' into submodule path 'secure-submodules' failed

我假设这是因为第二个子模块需要凭据,但我不确定如何提供它。

由于主要项目的持续部署是从 protected git 存储库中提取的,因此我认为子模块也能够执行相同的操作。

最佳答案

作为解决方法,我更新了 .gitmodules 文件,以便 URL 包含用户名和密码,并创建了一个 Personal Access Token在 URL 中使用。

例如在 .gitmodules 中,url 已更改:

[submodule "mySub"]
path = mySub
url = https://mysub:PERSONAL_ACCESS_TOKEN_VALUE@YOUR_GIT_REPO_URL

可以通过以下方式进行设置:

https://YOUR_SUB_DOMAIN.visualstudio.com/_details/security/tokens

当我创建个人访问 token 时,我将其限制为仅限代码读取操作。

我不喜欢这个解决方案的地方(我希望其他人有更好的解决方案):

  1. 个人访问 token 返回到主项目的源代码管理。
  2. 我没有找到一种方法可以将个人访问 token 限制为只有一个存储库,因此该 token 可用于读取我拥有的任何存储库访问。
  3. 您必须指定 token 的有效期限,最长期限为一年。这在某些方面是好的,但我确信一年后我会完全忘记我做了什么来让它工作,并且我确信错误消息不会那么明显。

关于git - Azure-Functions:需要信用的子模块:致命:无法读取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42862363/

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