如何配置 git 以在 cocoapods 规范文件中使用访问令牌?

How to configure git to use access token in cocoapods specfiles?

我正在使用 cocoapods 开发一个 iOS 项目,这些依赖项位于 GitHub Enterprise (GHE) 中。 Podfile 中有一个 podspec 回购源:

source 'https://git.xxx.com/xxx/podspec-ios.git'

在此存储库中还有大约 100 个 podspec 文件。每个 podspec 源都在使用 https 协议,例如

[...]
s.source        = { :git => "https://git.xxx.com/xxx/module-xxx-ios.git"
[...]

由于我是外部自由职业者,没有直接连接到他们的网络,所以我必须使用 SSH 登录 GHE。
当我尝试安装 pods 时,CLI 要我登录。但是我没有任何凭据(也有员工的 2FA 登录名,这在 cli 中不起作用)。但我能够创建 GHE 访问令牌。我需要在哪里配置这个?是我的 git cli 吗?或者我可以配置 Cocoapods 使用访问令牌吗?

假设您使用的是 GitHub,那么访问令牌仅适用于 HTTPS。如果您使用的是 HTTPS,那么您可以设置一个凭证助手 as documented in the Git FAQ。请注意,在它说“密码”的地方,您应该输入您的个人访问令牌,而不是您的密码。

否则,如果你需要使用 SSH,你只有一个 HTTPS URL,并且你无法更改 URL,那么你可以使用 Git 的insteadOf 特征在你的 ~/.gitconfig:

[url "git@git.xxx.com:"]
    insteadOf = "https://git.xxx.com/"

这将为该域自动将 URLs 从 HTTPS 重写为 SSH。

登录提示接受访问令牌。

最初它不起作用,因为我的密码管理器在位置 1 存储了带有 space 的令牌。