使用访问令牌从自己的 bitbucket 服务器克隆 git 存储库会出现端口号错误

Cloning git repository from own bitbucket server with access token gives port number error

我正在尝试使用此 guide:

之后的访问令牌克隆一个 git 存储库
git clone https://x-token-auth:{access_token}@bitbucket.org/user/repo.git

但这给了我下一个错误:

fatal: unable to access 'https://x-token-auth {access_token}@bitbucket.our_own_server.com/scm/rat/repo.git/':

Port number ended with '{'

我尝试了很多变体,with/out 括号,with/out 引号,管理员或用户名而不是 x-token-auth,但没有任何成功。

这是配置问题吗? 还有其他选择吗?

PS:访问令牌包含'/'和'+'。这可能是问题所在吗?

看起来您实际上是在 URL 中编写文本 {access_token},但这不是预期的,也不是有效的 URL 语法。您需要使用 URI 编码在该位置写入访问令牌。

最简单的方法是将令牌中不是字母或数字的每个字符编码为 %HH 形式的十六进制转义,其中 HH 是两个表示其 ASCII 值的字符十六进制值。因此,如果您的令牌包含 +,则应将其替换为 %2B,并且应将每个 / 替换为 %2F。同样,如果您有一个 =,它应该是 %3D,依此类推。

或者,您可以使用 Git 凭据助手,当提示输入用户名时,输入 x-token-auth,当提示输入密码时,按原样输入访问令牌本身(没有像我上面提到的那样对它进行 URI 编码)。然后 Git 会为您处理。