步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub。 git
ssh-keygen -t rsa -C "new email"
步骤二:配置~/.ssh/config文件,以我本身的机器为例。 shell
#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链接去读取哪一个私钥。 bash
步骤三:执行ssh-agent让ssh识别新的私钥。 ssh
ssh-add ~/.ssh/id_rsa_new
之后,在clone或者add remote的时候,须要把config文件中的host代替git@remoteaddress中的remoteaddress。 spa
同时,你能够经过在特定的repo下执行下面的命令,生成区别于全局设置的user.name和user.email。 code
git config user.name "newname" git config user.email "newemail" #git config --global --unset user.name 取消全局设置 #git config --global --unset user.email 取消全局设置
#在同一机器不一样目录下克隆远程同一个repo cd /home/user1 git clone git@defaultgit:xxx.git cd /home/user2 git clone git@secondgit:xxx.git上面的两条clone命令,虽然关联到同一个repo,倒是经过不一样ssh链接,固然也是不一样的git帐号。