在同一台电脑上配置多个 GitHub 账号并拉取不同的仓库,可以通过以下步骤实现:
1. 生成 SSH 密钥
首先,为每个 GitHub 账号生成一个 SSH 密钥。
# 为第一个账号生成 SSH 密钥
ssh-keygen -t rsa -C "your_email1@example.com"
# 保存为 id_rsa_github1
# 为第二个账号生成 SSH 密钥
ssh-keygen -t rsa -C "your_email2@example.com"
# 保存为 id_rsa_github2
2. 添加 SSH 密钥到 SSH Agent
启动 SSH agent 并添加密钥:
# 启动 SSH agent
eval "$(ssh-agent -s)"
# 添加第一个账号的密钥
ssh-add ~/.ssh/id_rsa_github1
# 添加第二个账号的密钥
ssh-add ~/.ssh/id_rsa_github2
3. 将 SSH 密钥添加到 GitHub 账号
将生成的公钥(id_rsa_github1.pub
和 id_rsa_github2.pub
)添加到对应的 GitHub 账号中。可以在 GitHub 的设置中找到 SSH 和 GPG 密钥的选项。
4. 配置 SSH 配置文件
编辑 ~/.ssh/config
文件,添加以下内容:
# 第一个 GitHub 账号
Host github.com-account1
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github1
# 第二个 GitHub 账号
Host github.com-account2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github2
5. 使用不同的 Host 克隆仓库
在克隆仓库时,使用配置的 Host 名称:
# 克隆第一个账号的仓库
git clone git@github.com-account1:username1/repo1.git
# 克隆第二个账号的仓库
git clone git@github.com-account2:username2/repo2.git
6. 配置 Git 用户信息(可选)
如果需要在不同的仓库中使用不同的 Git 用户信息,可以在每个仓库中单独配置:
# 进入第一个账号的仓库
cd repo1
git config user.name "Your Name 1"
git config user.email "your_email1@example.com"
# 进入第二个账号的仓库
cd repo2
git config user.name "Your Name 2"
git config user.email "your_email2@example.com"
通过以上步骤,你就可以在同一台电脑上配置多个 GitHub 账号,并拉取不同的仓库了。