這一篇文章是對上一篇文章《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 這樣定義的話,命令如下,即git@后面緊跟的名字改為mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
HostName 這個是真實的域名地址
IdentityFile 這里是id_rsa的地址
PreferredAuthentications 配置登錄時用什么權限認證--可設為publickey,password publickey,keyboard-interactive等
User 配置使用用戶名
config文件配置如下:
# 配置github.com Host github.com HostName github.com IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_github PreferredAuthentications publickey User username1 # 配置git.oschina.net Host git.oschina.net HostName git.oschina.net IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_oschina PreferredAuthentications publickey User username2
6. 打開Git Bash客戶端(管理員身份運行)執行測試命令測試是否配置成功(會自動在.ssh目錄生成known_hosts文件把私鑰配置進去)
7. 測試成功之后就可以在電腦上同時使用git多多賬號同時操作,互不影響了
clone github上的項目AndroidRotateAnim
打開github上AndroidRotateAnim項目,復制其對應的clone命令入下圖所示
執行clone命令如下:
clone oschina.net上的項目AndroidDevTools
打開git.oschina.net上AndroidDevTools項目,復制其對應的clone命令入下圖所示