標籤:
這一篇文章是對上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要對上一篇文章有所瞭解,當然直接往下看也可以,其中也有一些提到一些基礎的操作。
《Git-TortoiseGit完整配置流程》:http://www.cnblogs.com/popfisher/p/5466174.html。
本文以配置github.com帳號和git.oschina.net帳號來逐步示範在Windows環境下配置Git多帳號支援即在同一個電腦上管理多個ssh-key,對git多一分瞭解。
備忘:這篇文章所有執行命令的地方都是在管理員模式下進行,即開啟cmd,Git Bash用戶端用管理員身份運行程式。
1. 產生github.com對應的私密金鑰公開金鑰(檔案地址C:\Users\popfisher目錄)
執行命令 ssh-keygen -t rsa -C email 建立github對應的sshkey,命名為id_rsa_github,密碼 123456
ssh-keygen -t rsa -C 774232122@qq.com
2. 同樣的方式生產git.oschina.net的私密金鑰公開金鑰(郵箱地址可以相同可以不同,本文相同)
執行命令ssh-keygen -t rsa -C email建立github對應的sshkey,命名為id_rsa_oschina,密碼 123456
ssh-keygen -t rsa -C 774232122@qq.com
3. 把上面得到的檔案拷貝到git預設訪問的.ssh目錄(win10在使用者目錄下,本文C:\Users\popfisher.ssh)
除了秘鑰檔案之外,config檔案是後面的步驟中手動生產的,known_hosts檔案是後續自動生產的
4. 把github對應的公開金鑰和oschina對應的公開金鑰上傳到伺服器
GitHub添加SSH key的方式如所示:
git.oschina.net添加SSH key的方式如所示:
5. 在.ssh目錄建立config文字檔並完成相關配置(最核心的地方)
每個帳號單獨配置一個Host,每個Host要取一個別名,每個Host主要配置HostName和IdentityFile兩個屬性即可
Host的名字可以取為自己喜歡的名字,不過這個會影響git相關命令,例如:
Host mygithub 這樣定義的話,命令如下,即[email protected]後面緊跟的名字改為mygithub
git clone [email protected]mygithub:PopFisher/AndroidRotateAnim.git
HostName 這個是真實的網域名稱地址
IdentityFile 這裡是id_rsa的地址
PreferredAuthentications 表示與伺服器公開金鑰進行匹配
User 定義使用者名稱
config檔案配置如下:
# 配置github.comHost github.com HostName github.com IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_github PreferredAuthentications publickey User yuzhangsheng# 配置git.oschina.net Host git.oschina.net HostName git.oschina.net IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_oschina PreferredAuthentications publickey User yuzhangsheng
6. 開啟Git Bash用戶端(管理員身份運行)執行測試命令測試是否配置成功(會自動在.ssh目錄產生known_hosts檔案把私密金鑰配置進去)
7. 測試成功之後就可以在電腦上同時使用git多多帳號同時操作,互不影響了
clone github上的項目AndroidRotateAnim
開啟github上AndroidRotateAnim項目,複製其對應的clone命令入所示
執行clone命令如下:
clone oschina.net上的項目AndroidDevTools
開啟git.oschina.net上AndroidDevTools項目,複製其對應的clone命令入所示
執行clone命令如下:
學習心得
在使用git的過程中,一般都只關注單帳號的情況嗎,工作中的配置也是直接由自己的上級發一個配置文檔之類的東西,然後對著搞一遍就行了,可是當自己真正有這個需求的時候,突然發現束手無策。我自己當時也屬於這個情況,有一天在家裡,突然發現自己需要一台電腦支援多個SSH key的時候才發現自己不知道怎麼下手了,於是就下定決心自己動手研究一下。對於技術,還是要親自動手實踐,實踐出來的東西才能形成自己的真理,才不那麼容易忘記。
這篇文章是我基於Wind10平台上的實踐,由於知識有限,可能還是沒有總結得很完整,也可能在其他平台上會遇到一些其他的問題,沒有時間去研究了,如果讀者有遇到什麼問題,歡迎留言討論,共同學習。
Windows下Git多帳號配置,同一電腦多個ssh-key的管理