Mac端GitHub Desktop同步按钮失效,认证失败问题求助
解决GitHub Desktop(企业版)Mac端同步时的Authentication Failed问题
我之前也碰到过一模一样的情况——明明已经登录、权限也没问题,能拉取变更也能看到本地修改,就是一点Sync就跳认证失败,折腾了好一会儿才搞定,给你几个靠谱的排查方向:
优先切换到个人访问令牌(PAT)认证,别用密码
现在GitHub(包括企业版)基本都停用了密码直接做Git操作的权限,哪怕你输入的是正确的公司密码也没用。得生成一个带仓库权限的PAT:- 打开你的GitHub企业版网页,进入个人设置 → Developer settings → Personal access tokens → Generate new token
- 填个好记的token名称,勾选
repo权限(这是仓库读写必备的),其他权限按需选,生成后立刻复制这个token(刷新页面就看不到了,一定要存好) - 回到GitHub Desktop,打开偏好设置(快捷键Cmd+,)→ Accounts,找到你的企业版账号先移除,再重新添加。添加时用户名填你的企业版账号名,密码就用刚才生成的PAT
清理Mac钥匙串里的旧认证缓存
Mac的钥匙串可能存了旧的GitHub凭据,和新的认证信息冲突:- 打开「钥匙串访问」应用,搜索框输入你的企业版GitHub域名(比如
github.company.com) - 找到所有相关的密码条目,右键删掉
- 重启GitHub Desktop,再点Sync,这时会提示重新输入认证信息,用PAT就行
- 打开「钥匙串访问」应用,搜索框输入你的企业版GitHub域名(比如
确认仓库的远程URL没搞错
有时候仓库的远程地址可能不小心设成了公共GitHub的,不是企业版的:
在GitHub Desktop里,点顶部菜单栏「Repository」→「Repository Settings」,看「Remote Repository」里的URL,确保是你的企业版域名开头(比如https://github.company.com/your-team/your-repo.git),不对的话改过来用终端测试Git命令,排除应用本身的问题
如果上面的方法都没用,试试用终端直接操作,看是不是GitHub Desktop的问题:- 打开终端,cd到你的本地仓库目录
- 运行
git push,如果提示认证,输入你的企业版账号名和PAT
要是终端能成功push,那就是GitHub Desktop的凭据没更新,回到第一步重新添加账号就行
另外提一句,如果你的企业版开了SSO(单点登录),生成PAT后还要在token列表里点「Enable SSO」,授权对应的企业组织,不然token还是会认证失败。
内容的提问来源于stack exchange,提问作者ASR4




