情况说明
- Mac电脑
- 已有账号已经更换成自己的user.name和user.email
node
git config --global user.name "xxx"
git config --global user.email "xxx"
- 钥匙串访问中无法清除github.com记录
- 拉取自己的私有github远程仓库,或push已拉取的项目时提示
Repository not found
原因
Mac 上还缓存着前一个用户的 GitHub 登录凭证(可能是在钥匙串、SSH key 或 HTTPS token 中),所以即使换了名字和账号,拉取的时候还是用她的权限去访问。
具体操作
步骤一:强制清空钥匙串中的github.com记录
说明Mac 钥匙串里,这条 GitHub 登录记录是"正在被使用 "或者"被权限保护"的,所以直接右键删它没反应。需要用终端命令去删。
1. 删除 GitHub 旧凭证
终端输入
node
security delete-internet-password -s github.com
2. 确认是否删除成功
查看钥匙串里还有没有github
node
security find-internet-password -s github.com
如果输出是
node
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
说明 GitHub 凭证已经清掉了
步骤二:创建token
- 登录 GitHub
- 右上角头像 → Settings
- 左侧 Developer settings → Personal access tokens → Tokens (classic)
- 点击 Generate new token (classic)
- 选择过期时间(建议 90 天或更长),全部勾选
- 生成后 复制 token(以后看不到了)
步骤三:重新clone或push进行认证
git clone/push代码后会弹出输入用户名/密码
username:你的github用户名
password:你的 Personal Access Token
(不是 GitHub 登录密码)
步骤四:让git自动保存到macOS钥匙串
node
git config --global credential.helper osxkeychain
这个命令告诉 Git:以后记住我输入的 Token,存到钥匙串里。
步骤五:验证是否保存成功
node
security find-internet-password -s github.com
如果能看到记录,就说明保存成功了。
步骤六:以后 push / pull / clone Git会从钥匙串中直接读取token,自动鉴权
✅Over