git ssh 配置多個(gè)賬戶(hù)的方法
一臺(tái)電腦上有一個(gè)ssh key,在github上提交代碼,由于其他原因
你可能會(huì)在一臺(tái)電腦上提交到不同的github上,怎么辦呢…
所以查了一下關(guān)于同機(jī)器多賬號(hào)的ssh-key配置,在此記錄一下。
操作步驟
如果我們Windows 系統(tǒng)上面已經(jīng)有了ssh-key再創(chuàng)建ssh-key的話,需要給我們的ssh-key文件取不同的名字,默認(rèn)是id_rsa,如果不重新起名的話,會(huì)把原有的給覆蓋掉。
1.新建ssh-key&重新命名
這里我們新建的key名為 id_rsa2,路徑為:C:\Users\Administrator.ssh
首先打開(kāi)git bash ,可以通過(guò)在桌面上右鍵打開(kāi) (右鍵 》 git bash here),切換到ssh目錄,輸入一下命令
//切換到ssh目錄 cd ~/.ssh
//新建ssh-key ssh-keygen -t rsa -C "mywork@email.com" //為新建的ssh-key重新命名 Enter file in which to save the key
輸入文件名及路徑
C:\Users\Administrator\.ssh\id_rsa2
這樣的話會(huì)在 目錄下生成兩個(gè)文件
C:\Users\Administrator\.ssh\id_rsa2 C:\Users\Administrator\.ssh\id_rsa2.pub
2.新ssh-key添加到ssh agent中
因?yàn)槟J(rèn)只讀取id_rsa,為了讓SSH識(shí)別新的私鑰,需將其添加到SSH agent中:
首先打開(kāi)git Bash
//打開(kāi)ssh-agent 客戶(hù)端,否則會(huì)報(bào)錯(cuò) eval `ssh-agent -s` ssh-add ~/.ssh/id_rsa2
3.配置 將不同賬號(hào)的工程圖服務(wù)器與ssh-key關(guān)聯(lián)
賬戶(hù)以及git服務(wù)器與對(duì)應(yīng)的密鑰關(guān)聯(lián)。在~/.ssh目錄下找到config文件,如果沒(méi)有就創(chuàng)建:
touch config
然后修改如下: 我的config配置如下:
# 該文件用于配置私鑰對(duì)應(yīng)的服務(wù)器 # Default github user(first@mail.com) Host github.com HostName github.com User git IdentityFile C:/Users/Administrator/.ssh/id_rsa # second user(second@mail.com) # 建一個(gè)github別名,新建的帳號(hào)使用這個(gè)別名做克隆和更新 Host github2 HostName github.com User git IdentityFile C:\Users\Administrator\.ssh\id_rsa2
其規(guī)則就是:從上至下讀取config的內(nèi)容,在每個(gè)Host下尋找對(duì)應(yīng)的私鑰。這里將GitHub SSH倉(cāng)庫(kù)地址中的git@github.com替換成新建的Host別名如:github2,那么原地址是:git@github.com:funpeng/Mywork.git,替換后應(yīng)該是:github2:funpeng/Mywork.git.
4、用記事本打開(kāi)新生成的~/.ssh/id_rsa2.pub文件,將里面的內(nèi)容添加到GitHub后臺(tái)。
可不要忘了添加到你的另一個(gè)github帳號(hào)下的SSH Key中。
5、測(cè)試:
$ ssh -T git@github.com
Hi gdutxiaoxu! You've successfully authenticated, but GitHub does not provide shell access..
$ ssh -T github2
Hi xujun94! You've successfully authenticated, but GitHub does not provide shell access.
6、應(yīng)用
假如我們要克隆我們的遠(yuǎn)程倉(cāng)庫(kù):https://github.com/xujun94/xujun.git ,在我的github 賬戶(hù)上配置 的為 ssh 可以為 id_isa2,正常情況下我們是需要輸入命令
git clone git@github.com:xujun94/xujun.git
git clone github2:xujun94/xujun.git
進(jìn)入我們的倉(cāng)庫(kù) ,添加xujun.txt 文件,add > commit > push ,將可以看到如下的效果
如果你只是通過(guò)這篇文章中所述配置了Host,那么你多個(gè)賬號(hào)下面的提交用戶(hù)會(huì)是一個(gè)人,所以需要通過(guò)命令git config –global –unset user.email刪除用戶(hù)賬戶(hù)設(shè)置,在每一個(gè)repo下面使用git config –local user.email ‘你的github郵箱@mail.com' 命令單獨(dú)設(shè)置用戶(hù)賬戶(hù)信息
相關(guān)文章
Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解)
這篇文章主要介紹了Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解),文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Git如何實(shí)現(xiàn)checkout遠(yuǎn)程tag
這篇文章主要介紹了Git如何實(shí)現(xiàn)checkout遠(yuǎn)程tag,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09常用VsCode 快捷鍵(Window & Mac)GIF演示
本文給大家分享了23個(gè)常用VsCode 快捷鍵(Window & Mac)的GIF動(dòng)圖演示,非常的實(shí)用,有需要的小伙伴可以拿走參考2020-02-02Clion ROS開(kāi)發(fā)環(huán)境設(shè)置技巧
這篇文章主要介紹了Clion ROS開(kāi)發(fā)環(huán)境設(shè)置技巧,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08如何刪除Git本地倉(cāng)庫(kù)和刪除GitHub上的Git遠(yuǎn)程倉(cāng)庫(kù)Repository(推薦)
這篇文章主要介紹了如何刪除Git本地倉(cāng)庫(kù)和刪除GitHub上的Git遠(yuǎn)程倉(cāng)庫(kù)Repository,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09