Ubuntu执行git clone时要求非本人GitHub账号验证的求助
问题解决方法
一、清除旧的Git凭据(解决弹出陌生账号验证的核心)
弹出陌生账号验证是因为本地Git缓存了之前存储的GitHub凭据,克隆时自动调用旧信息,按以下步骤清理:
- 先查看当前Git使用的凭据助手:
git config --global credential.helper - 根据不同凭据助手清理:
- 如果返回
libsecret(Ubuntu默认常用):- 命令行删除GitHub相关凭据:
secret-tool delete domain github.com - 图形界面操作:打开“密码和密钥”,找到GitHub相关条目直接删除。
- 命令行删除GitHub相关凭据:
- 如果返回
store:- 编辑
~/.git-credentials文件,删除包含github.com的行;若不需要保留其他凭据,可直接删除整个文件。
- 编辑
- 如果返回
manager(已安装GCM):- 执行命令清除GitHub凭据:
git credential-manager erase <<EOF protocol=https host=github.com EOF
- 执行命令清除GitHub凭据:
- 如果返回
二、克隆目标仓库的正确方式
分两种场景处理:
场景1:目标仓库是公开仓库
直接用HTTPS地址克隆即可,公开仓库无需权限验证。清理凭据后若仍弹出验证,按回车跳过就能完成克隆:
git clone https://github.com/目标账号名/仓库名.git
场景2:目标仓库是私有仓库
你需要先获得仓库访问权限,可选方式:
- 让仓库所有者将你的GitHub账号添加为协作者,克隆时输入自己的GitHub账号信息(推荐用个人访问令牌PAT代替密码,GitHub已弃用密码验证)。
- 让仓库所有者生成SSH部署密钥,你将密钥配置到本地SSH后,用SSH地址克隆:
git clone git@github.com:目标账号名/仓库名.git - 让仓库所有者生成带临时令牌的HTTPS克隆链接,直接使用该链接克隆,无需输入账号密码。
三、Git Credential Manager(GCM)在Ubuntu上的操作指南
1. 安装GCM
下载适配Ubuntu的GCM .deb 安装包,执行以下命令完成安装:
sudo dpkg -i git-credential-manager_*.deb
2. 配置为全局凭据助手
git config --global credential.helper manager
3. 使用GCM存储凭据
当Git需要验证时,GCM会弹出图形界面或命令行提示,输入你的GitHub账号信息(私有仓库需有权限),凭据会自动存储到系统密钥串,后续操作无需重复输入。
4. 管理已存储凭据
- 清除指定主机的凭据(比如GitHub):
git credential-manager erase <<EOF protocol=https host=github.com EOF - 打开GCM配置界面:
git credential-manager configure
内容的提问来源于stack exchange,提问作者Momen Mahmoud
相关产品推荐
相关产品推荐

