gh auth login始终尝试登录错误账户,如何切换至目标账户?
GitHub CLI切换多账户解决方案(Linux)
方法1:先退出当前账户再重新登录
- 执行命令:
gh auth logout,按照提示选择退出已登录的个人账户 - 退出完成后运行
gh auth login,选择工作账户进行登录。如果浏览器还是自动跳转到旧账户,用浏览器的隐私/无痕窗口打开授权页面,避免缓存的会话干扰
方法2:用独立配置目录隔离多账户(优化你之前的尝试)
- 之前设置
GH_CONFIG_DIR后浏览器跳转异常,是因为浏览器缓存了OAuth授权会话,解决步骤:- 打开浏览器隐私模式
- 临时指定工作账户的配置目录并登录:
GH_CONFIG_DIR=~/.gh-work gh auth login - 后续使用工作账户时,可以给命令设置别名,方便调用:
echo "alias gh-work='GH_CONFIG_DIR=~/.gh-work gh'" >> ~/.bashrc(如果用zsh就替换成~/.zshrc),之后直接用gh-work就能操作工作账户的GitHub资源
方法3:手动修改认证配置文件
- GitHub CLI的默认配置目录是
~/.config/gh,其中hosts.yml存储了账户的认证信息 - 先备份原配置:
cp ~/.config/gh/hosts.yml ~/.config/gh/hosts.yml.backup - 编辑
hosts.yml,删除原有账户的oauth_token字段,或者替换成工作账户的个人访问令牌(在GitHub后台的「开发者设置-个人访问令牌」生成,需要勾选相应权限) - 保存后执行
gh auth status,确认当前已切换到工作账户
内容的提问来源于stack exchange,提问作者billmill
相关产品推荐
相关产品推荐

