使用API令牌从Bitbucket拉取仓库的正确语法

后端开发 2026-07-08

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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章