步驟一:用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帳號。