You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04下Git Credential Manager配置及Bitbucket克隆问题求助

Git Credential Manager 在 Ubuntu 20.04 配置问题及解决方案

一、credential.helper 多值错误的原因与解决方法

原因

全局Git配置中已存在多个credential.helper配置项,Git不允许用单个值直接覆盖多个值,因此执行git config --global credential.helper store时触发错误。

解决方法

  1. 查看当前所有全局credential.helper配置:
git config --global --get-all credential.helper
  1. 逐个删除现有配置项(重复执行直到无输出):
git config --global --unset credential.helper
  1. 重新设置凭证助手(若后续用GCM,建议设为gcm):
git config --global credential.helper gcm

二、克隆仓库失败的原因及疑问解答

克隆报错直接原因

你安装的Git Credential Manager(GCM)在Linux下默认依赖pass工具安全存储凭证,但pass未初始化GPG密钥对,导致GCM无法处理凭证流程,引发认证失败。

你的三个疑问解答

1. 为何需要设置密码存储?

Windows有系统自带的凭据管理器,GCM可直接集成安全存储凭证;而Linux环境下GCM默认用pass作为后端,pass依赖GPG加密避免明文存储账号密码,因此必须初始化pass才能让GCM正常工作(也可配置GCM使用其他存储方式)。

2. 为何无法克隆仓库?

有两个核心原因:

  • pass未初始化,GCM无法正常处理凭证,导致认证环节出错;
  • Bitbucket已不再支持直接用官网登录密码通过HTTPS执行Git操作,Windows能正常克隆是因为GCM自动使用了OAuth授权或你配置了App Password,而你在Ubuntu中输入的官网登录密码不符合Bitbucket认证要求。

3. 如何配置OAuth登录并保存凭证,无需重复输入?

推荐用GCM的OAuth授权方式,步骤如下:

  1. 按第一部分方法清理credential.helper配置;
  2. 设置GCM为全局凭证助手:
git config --global credential.helper gcm
  1. 执行克隆命令(无需在URL中携带用户名):
git clone https://bitbucket.org/<workspace>/<repo_name>.git
  1. GCM会自动打开浏览器,引导完成Bitbucket的OAuth授权,授权成功后凭证会被自动保存,后续拉取、推送无需重复输入账号密码。

若不想依赖pass,可配置GCM使用Ubuntu系统的libsecret作为存储后端:

git config --global credential.gcm.store libsecret

此方式无需初始化pass,直接用系统服务存储凭证。

内容的提问来源于stack exchange,提问作者mans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:33:31