在同一台电脑上操作多个 GitHub 账号的仓库
为每个账号生成独立的 SSH 密钥对,然后通过配置来区分使用。
步骤:
-
为每个账号生成独立的 SSH 密钥:
ssh-keygen -t ed25519 -C "your-email1@example.com" -f ~/.ssh/id_ed25519_personal ssh-keygen -t ed25519 -C "your-email2@example.com" -f ~/.ssh/id_ed25519_work(生成不同的文件名,避免覆盖默认的 id_ed25519)
-
将每个公钥分别添加到对应的 GitHub 账号:
- 网页登录账号1 → Settings → SSH and GPG keys → New SSH key,粘贴 personal.pub 的内容。
- 网页登录账号2 → 同上,粘贴 work.pub 的内容。
-
配置 ~/.ssh/config 文件(这是关键,能让你用同一个 git@github.com 但自动切换密钥):
# 默认账号 Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519_personal IdentitiesOnly yes # 工作账号(用别名区分) Host github-work HostName github.com User git IdentityFile ~/.ssh/id_ed25519_work IdentitiesOnly yes -
clone 仓库时:
- 个人账号的仓库:正常 clone
git clone git@github.com:username1/repo.git - 工作账号的仓库:用别名
git clone git@github-work:username2/repo.git
- 个人账号的仓库:正常 clone
这样,能在同一台机器上操作不同账号的仓库了
如果只偶尔访问某个仓库,可以用临时命令:
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ed25519_work -o IdentitiesOnly=yes" git clone git@github.com:username2/repo.git
更多细节
可以参考 GitHub 官方文档的"Managing multiple accounts"部分。