Git多账户使用
Git 同一台设备有多个 GitHub 账户管理
在使用 Git 时,有时我们可能需要同时管理多个 GitHub 账户。下面是一些步骤和建议来实现这一目标:
生成 SSH 密钥对: 对于每个 GitHub 账户,您需要生成一个 SSH 密钥对。可以使用以下命令生成新的 SSH 密钥对:
1
ssh-keygen -t rsa -C "your_email@example.com"
请确保在生成密钥时使用不同的文件名和不同的电子邮件地址。
将 SSH 公钥添加到 GitHub 账户: 将生成的 SSH 公钥(通常在
~/.ssh/id_rsa.pub
中)添加到相应的 GitHub 账户的设置中。配置用户信息: 使用以下命令配置每个 GitHub 账户的用户名和电子邮件地址:
1
2git config user.name "Your Name"
git config user.email "your_email@example.com"这将设置局部的用户信息。请确保为每个 GitHub 账户设置不同的用户名和电子邮件地址。
配置 SSH 主机别名: 修改
~/.ssh/config
文件,为每个 GitHub 账户配置不同的主机别名和对应的私钥文件路径。例如:1
2
3
4
5
6
7
8
9
10
11# stone
Host stone
HostName ssh.github.com
User git
IdentityFile ~/.ssh/id_rsa
# david
Host matrix
HostName ssh.github.com
User git
IdentityFile ~/.ssh/id_rsa_hide_in_matrix这些别名将用于在不同的 GitHub 账户之间进行切换。
**配置项目的 git 设置:**修改你项目下的
.git/config
文件,线上项目地址(url)。例如:1
2
3
4
5
6
7
8
9
10
11
12
13
14[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@matrix:xxx/xxxx.git
. url = git@matrix:[你的github名字]/你的仓库
fetch = +refs/heads/*:refs/remotes/origin/*
[user]
name = xxxxx
email = xxx@gmail.com测试连接: 使用以下命令测试每个 GitHub 账户的连接:
1
2ssh -T git@stone
ssh -T git@david确保每个账户都能成功连接。
现在,您应该能够在同一台设备上成功管理多个 GitHub 账户了。可以根据需要在不同的仓库中使用不同的账户进行操作。