Git多账户配置终极指南
同一台电脑上要连GitHub、公司GitLab,还要连其他Git仓库,账户来回切,推代码总报错,另一件烦事:明明在公司仓库提交,结果commit记录里显示的是个人邮箱,被同事和领导围观。
如果你也遇到这些问题,别急着删.ssh文件夹重来,这篇文章能帮你一次性搞定。
SSH密钥多账户管理
最靠谱的方式,没有之一。
生成不同用途的密钥对
别偷懒用同一个密钥,给每个平台单独生成:
1 | # GitHub专用 |
把公钥加到对应的平台
这个不用多说,打开GitHub/GitLab的设置页面,找到SSH Keys,把.pub文件的内容完整复制进去。
注意:一定要复制.pub结尾的文件,而不是私钥文件。
配置SSH客户端
编辑~/.ssh/config文件(没有就新建一个):
1 | # GitHub |
测试连接
1 | ssh -T git@github.com |
根据域名自动切换身份
解决了认证问题,还有个麻烦事:不同仓库要用不同的用户名和邮箱。
以前的做法是每个仓库单独配置:
1 | git config user.name "张三" |
项目一多就记不住了,老忘。Git 2.36之后有了更好的方式——根据远程仓库域名或者目录自动切换。
创建身份配置文件
~/.gitconfig-work(公司用):
1 | [user] |
~/.gitconfig-personal(个人用):
1 | [user] |
配置自动规则
编辑~/.gitconfig主配置文件:
1 | # 兜底身份(可选) |
验证
进入任意一个仓库目录,运行:
1 | git config user.name |
如果输出的是你期望的身份,说明一切正常。以后新克隆的仓库都不用再手动设置了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 暮色之狐!







