TortoiseGit用户第一次提交,弹窗问用户名和密码,随手勾了保存,后来换了账号怎么也推不上去,一直用旧身份提交。gittortoise也就是TortoiseGit,配置身份和凭据有大讲究。

先分清两层身份

一层是Git的提交身份,也就是user.name和user.email,它写进每次commit里,和你能不能推送无关。另一层是远程仓库的登录凭据,用来通过HTTP或SSH验证。很多人把这两层混了,改了提交名还是登不上。

设置提交身份

git config --global user.name 你的名字
git config --global user.email 你的邮箱

这是全局配置,只对当前用户生效。如果某个仓库要用别的身份,进目录执行去掉global参数的命令单独覆盖即可。

凭据管理怎么弄

  • Windows凭据:TortoiseGit默认把账号密码交给系统凭据管理器保管,进控制面板的凭据管理器就能查看和删除。
  • 改密码:远程平台改了密码后旧凭据失效,要先删掉保存的凭据重新输入。
  • 推荐用令牌:GitHub等平台已不支持账号密码推送,要生成个人访问令牌,把它当密码填。

换账号不再冲突

先删掉凭据管理器里对应地址的记录,再在TortoiseGit设置里清掉本地缓存的身份,重新克隆或推送时它会重新要账号。反复弹旧账号,可以在仓库目录执行git config user.name查看是否被仓库级配置覆盖。用SSH方式则去生成密钥、把公钥贴到平台,一劳永逸。