同一客户端多个git账号的配置

Posted 云水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同一客户端多个git账号的配置相关的知识,希望对你有一定的参考价值。

同一客户端多个git账号的配置

 

同一客户端多个git账号的配置

步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub。

1
ssh-keygen -t rsa -C "new email"

 

平时我们都是直接回车,默认生成id_rsa和id_rsa.pub。这里特别需要注意,出现提示输入文件名的时候要输入与默认配置不一样的文件名,比如:  id_rsa_new。

步骤二:配置~/.ssh/config文件,以我自己的机器为例。

1
2
3
4
5
6
7
8
9
10
11
#Default Git
Host defaultgit
  HostName IP Address #域名也可
  User think
  IdentityFile ~/.ssh/id_rsa
 
#Second Git
Host secondgit
  HostName IP Address #域名也可
  User think
  IdentityFile ~/.ssh/id_rsa_second

Host就是每个SSH连接的单独代号,IdentityFile告诉SSH连接去读取哪个私钥。

步骤三:执行ssh-agent让ssh识别新的私钥。

1
ssh-add ~/.ssh/id_rsa_new

 

该命令如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent,可执行ssh-agent bash命令后再执行ssh-add命令。

以后,在clone或者add remote的时候,需要把config文件中的host代替[email protected]中的remoteaddress。

同时,你可以通过在特定的repo下执行下面的命令,生成区别于全局设置的user.name和user.email。

1
2
3
4
5
git config user.name "newname"
git config user.email "newemail"
 
#git config --global --unset user.name 取消全局设置
#git config --global --unset user.email 取消全局设置

 

例子:
1
2
3
4
5
6
#在同一机器不同目录下克隆远程同一个repo
cd /home/user1
git clone [email protected]:xxx.git
 
cd /home/user2
git clone [email protected]:xxx.git
上面的两条clone命令,虽然关联到同一个repo,却是通过不同ssh连接,当然也是不同的git账号。

 

 

以上是关于同一客户端多个git账号的配置的主要内容,如果未能解决你的问题,请参考以下文章

Windows下配置多个Git账号

多个git账号的配置

linux同一台机子上用多个git 账号

Git多账号设置(同一个邮箱,多个账号)

同一目录下的多个 git

多个 github 账号,怎样配置对应的 ssh key