最近在學習git,首先推薦一個個人認為很不錯的git教程,學習后,從git新手變成了git入門了,仍需繼續努力。
廖老師的git學習教程(其他git基礎知識點,本篇博客就不做介紹了,自己看教程學習吧,老師講解很不錯,通俗易懂):
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 。
這里是將自己遇到的一個問題,通過查閱資料,大部分內容轉載網址: https://segmentfault.com/a/1190000005607713 ,非常感謝這位大神,在此也分享給其他愛好git的朋友。我們可能會需要在一台電腦上以不同的github賬戶去使用git,這時就需要去解決如何管理本機上的多個ssh key的問題了(情景:比如你有一個github網站遠程倉庫的賬號,同時又有一個公司遠程倉庫的賬號,為了便於不同倉庫代碼的pull和push,就需要配置多個ssh密鑰了)。
生成新ssh key
如果我們電腦上已經存在了一個ssh key,那么我們需要在我們電腦上生成第二個你想在本電腦上使用的id_rsa,使用命令:ssh-keygen -t rsa -C "你的github賬號"。
紅色標注部分會提示你把新生成的id_rsa存放到哪里,此處默認會存放在c盤的用戶名下的.ssh文件夾下(即你第一個github用戶ssh key存放的目錄),因此我們需要輸入路徑/c/Users/DodoMonster/.ssh(注意此路徑是你的系統盤下用戶目錄安放ssh密鑰的目錄,請使用自己電腦上相對應的目錄),最后我以“id_rsa_gman”重新命名了ssh key防止默認與已有的ssh key重復。

在輸入了路徑后,會提示你輸入提交項目時輸入的驗證密碼,不輸則表示不用密碼,這是為了防止別人隨便在你的項目上push東西,所以最好還是輸入以下你的密碼。回車,再重復輸入確認回車即可(一路回車也可以,此時沒有密碼)。
添加新ssh key
默認SSH只會讀取id_rsa,所以為了讓SSH識別新的私鑰,需要將其添加到SSH agent
使用命令:ssh-add ~/.ssh/id_rsa_gman

如果報錯:Could not open a connection to your authentication agent.無法連接到ssh agent;可執行ssh-agent bash命令后再執行ssh-add命令
配置config文件
查看.ssh文件中是否存在config文件
如果已存在則直接編輯config文件,命令:vim config #這是linux的命令,進入了vim界面后按a或i或A或I進入編輯模式,編輯完成后按esc鍵輸入:wq 保存文件退出
如果不存在則需要創建config文件,命令:touch config,再對config文件進行編輯

對config文件進行配置填寫:
#Default github user(DodoMonster@email.com)-這其實是注釋 Host github #把默認的常用的github Host設為github.com較好 HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_me
其中Host 后的名字可以隨意方便自己記憶,但HostName必須為github.com。
# ************************************************
#second user(monster@qq.com) Host monster HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa ps:HostName 是域名
測試是否配置成功
使用命令:
ssh -T git@github.com ssh -T git@github
出現如圖的歡迎語則為配置成功。
注意:配置完成后,在連接Host不是github.com的github倉庫時,遠程庫的地址要對應地做一些修改,比如現在添加monster帳號下的一個倉庫orderTicket,則需要使用如下命令這樣添加:
git remote add test git@github:monster/orderTicket.git

而並非原來的git@github.com:monster/orderTicket.git(這樣每次連接都會使用id_rsa與服務器進行連接)。
配置至此,大功告成!
另外注意:github根據配置文件的user.email來獲取github帳號顯示author信息,所以對於多帳號用戶一定要記得將user.email改為相應的email(monster@mail.com)。
