一个环境下配置两个Github账号
一个环境下配置两个Github账号
想象一下,你平时工作时会用到一个 GitHub 账户,而周末维护一些自己的项目时又需要使用到自己的 Github 账号,恰巧它们还都发生在了同一台电脑上,这样你就会需要来回切换账号,是不是很头疼呢?
本文将带你在十分钟内为同一台电脑配置好两个 GitHub 账号,从此不再为切换账号而烦恼。
清除环境
这一步主要是避免配置冲突,可以跳过
在shell下进入.ssh
目录,执行清理目录
1
rm -rf ~/.ssh/*
在Windows下,这个路径为
C:\Users\Username\.ssh
生成SSH密钥
1. 生成第一个密钥
1
ssh-keygen -t ed25519 -C "personal@example.com" -f ~/.ssh/id_ed25519_personal
2. 生成第二个密钥
1
ssh-keygen -t ed25519 -C "work@example.com" -f ~/.ssh/id_ed25519_work
执行完后会生成4个文件
1
2
id_ed25519_personal id_ed25519_personal.pub
id_ed25519_work id_ed25519_work.pub
为每个密钥配置对应的 GitHub 账号
1
2
cat id_ed25519_personal.pub
cat id_ed25519_work.pub
将公钥内容粘贴到Github SSH keys配置
配置 ~/.ssh/config
,自动匹配不同账号
编辑或创建 ~/.ssh/config
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 账号1
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
IdentitiesOnly yes
# 账号2
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yes
测试连接
1
2
ssh -T git@github-personal
ssh -T git@github-work
使用方法
当你想使用哪个账号推送时,就用 git@github-xxx:user/repo.git
的方式添加远程地址:
- 克隆个人账号的项目:
1
git clone git@github-personal:yourusername/personal-repo.git
- 克隆工作账号的项目:
1
git clone git@github-work:yourworkname/work-repo.git
注意
修改了config
文件后,本地所有的git仓库地址都需要跟着修改,需要将github.com
修改成Host
指向的名称,域名不再使用github.com
本文由作者按照 CC BY 4.0 进行授权