使用API令牌从Bitbucket拉取仓库的正确语法
Atlassian 已弃用 的通过密码拉取仓库的能力。
我在Linode的 Linux Ubuntu VPS上使用。现在没法弄清正确的拉取命令格式。
以前使用密码的方式是这样的:
git pull https://<username>@bitbucket.org/<username>/<reponame>
随后系统会提示我输入密码,输入后就能工作。
现在有很多教程和解决方案,但都不适用于我的情况。
git pull https://<repoownerpublicname or e-mail>:<api_token>@<hostname>:<port_number>/<repoownerpublicname>/<reponame>.git <branch_name>
当我输入这个命令,结尾带有或不带 .git 时,都会出现各种错误。
git pull https://x-token-auth:<APItoken>@bitbucket.org:7999/<repoownerpublicname>/<reponame>.git
例如,省略 :7999 会出现“端口未定义”的提示。 当我包含端口时,会出现30秒超时。
尝试使用SSH时,我会看到类似如下的错误:
Name or service not known fatal: Could not read from remote repository.
将bitbucket.org改为atlassian.bitbucket.com或其他变体也无法解决问题。
要拉取我的仓库,应该使用什么可行的命令字符串?
失败的尝试
清除存储的凭据(失败)
建议是: 你的系统很可能会自动发送旧的、缓存中的密码。你必须先清除它:Windows:打开开始菜单,搜索“凭据管理器”,并选择“Windows凭据”。查找任何包含bitbucket.org的条目并点击删除。
解决方案
正如我所怀疑的,Atlassian使用的是他们自己的语法。答案是由他们的员工给出的。git命令应包含:
x-bitbucket-api-token-auth
而不是 x-token-auth:
git pull https://x-bitbucket-api-token-auth:<API_TOKEN>@bitbucket.org/<workspace>/<repository>.git
额外提示
有两种API令牌类型可生成,一种是常规型,一种是带权限范围的。
常规型不会起作用。用户需要生成另一种类型,即带有权限范围的类型。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。