在单台电脑上使用多个 GitHub 账号的终极指南

11 min read

在单台电脑上使用多个 GitHub 账号的终极指南

如何在同一台电脑上切换使用多个 GitHub 账号。这篇博客将提供一个清晰、详细的解决方案,帮助您轻松管理多个 GitHub 账号的 SSH 密钥和提交身份。

1. 生成 SSH 密钥

首先,每个 GitHub 账号都需要一个唯一的 SSH 密钥。这可以通过以下命令实现:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

在生成密钥时,为每个账号输入指定不同的文件名,比如 id_rsa_account1。完成后,将每个密钥的公钥部分添加到对应的 GitHub 账号。

2. 配置 SSH

接下来,编辑 ~/.ssh/config 文件,为每个账号设置一个别名:

Host github-account1
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_account1

Host github-account2
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_account2

这个配置允许 SSH 客户端知道针对不同的 "host" 使用哪个密钥。

3. 克隆和操作仓库

注意这里使用 SSH 别名的方式克隆仓库, 具体的命令如下:

git clone git@github-account1:user/repo.git

对于已存在的仓库,更改远程地址以使用新的 SSH 别名:

git remote set-url origin git@github-account1:user/repo.git

4. 设置 Git 用户信息

Git 的提交用户名和邮箱是独立于 SSH 密钥的。全局用户名和邮箱可以通过以下命令设置:

git config --global user.name "用户名"
git config --global user.email "邮箱"

在特定仓库中,可以设置本地用户名和邮箱覆盖全局设置:

git config user.name "用户名"
git config user.email "邮箱"

5. 实际案例

假设您有一个 SSH 别名为 github-biyan,并想克隆 https://github.com/test/web,命令如下:

git clone git@github-biyan:test/web.git

对于该仓库的后续操作(如 push 或 pull),SSH 会自动使用 github-biyan 的配置。

通过上述步骤,您可以在一台电脑上轻松管理多个 GitHub 账号。这不仅提高了工作效率,还保证了不同账号之间的清晰分隔和安全性。记住,每次切换账号时,都要确保使用正确的 SSH 别名和配置正确的 Git 用户信息。