同一客户端多个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 GitHost defaultgit HostName IP Address #域名也可 User think IdentityFile ~/.ssh/id_rsa#Second GitHost 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代替git@remoteaddress中的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
|
#在同一机器不同目录下克隆远程同一个repocd /home/user1git clone git@defaultgit:xxx.gitcd /home/user2git clone git@secondgit:xxx.git |

浙公网安备 33010602011771号