換了工做後使用的是gitlab,這樣對github的使用會有影響。爲了解決這個問題,搜了不少資料後完美解決。如今把它記錄下來。
在同一臺電腦上使用github和gitlab,主要的思想就是使用不一樣的倉庫時,切換成不一樣的帳號。不一樣帳號的sshKey分別對應github和gitlab。接下來跟着我看看怎麼作吧^_^html
這裏咱們要作的事情就是分別對githubn和gitlab生成對應的密鑰(默認狀況下本地生成的祕鑰位於/Users/用戶名/.ssh/),而且配置git訪問不一樣host時訪問不一樣的密鑰,流程以下:
一、 在gitbash中使用ssh-keygen -t rsa -C "公司郵箱地址"
生成對應的gitlab密鑰:id_rsa和id_rsa.pub
二、 將gitlab公鑰即id_rsa.pub中的內容配置到公司的gitlab上
三、 在gitbash中使用ssh-keygen -t rsa -C "github地址" -f ~/.ssh/github_rsa
生成對應的github密鑰:github_rsa和github_rsa.pub
四、 將github公鑰即github_rsa.pub中的內容配置到本身的github上
五、 進入密鑰生成的位置,建立一個config
文件,添加配置:linux
# gitlab Host gitlab HostName git.xxx.com #這裏填你的gitlab的Host User git IdentityFile ~/.ssh/id_rsa # githab Host github.com HostName github.com User git IdentityFile ~/.ssh/github_rsa
在密鑰的生成位置/Users/用戶名/.ssh/下使用gitbash運行 ssh -T git@hostName
命令測試sshkey對gitlab與github的鏈接:git
catalinaLi@catalinaLi MINGW64 ~/.ssh $ ssh -T git@gitlab Welcome to GitLab, catalinaLi! catalinaLi@catalinaLi MINGW64 ~/.ssh $ ssh -T git@github.com Hi catalinaLi! You've successfully authenticated, but GitHub does not provide shell access.
若是出現上圖結果就說明鏈接成功,若是不是這樣的話就仔細看看第一步哪裏作錯了。github
這裏咱們要用到git的config配置。git的config文件記錄了用戶的基本信息,咱們的帳號信息也在裏面,這裏咱們要作的就行在不一樣的本地倉庫配置不一樣的用戶信息來訪問不一樣的遠程倉庫。config文件一般有三個位置:shell
簡單瞭解後咱們就能夠來配置了segmentfault
1. 用戶級別配置
由於公司的代碼使用頻率較高,因此咱們將git配置文件的global(用戶級別)設置爲公司的gitlab帳號,在gitlab中使用以下命令:bash
$ git config --global user.name 'catalinaLi' #公司帳號名稱 $ git config --global user.email 'catalinaLi@companyName.com' #公司帳號郵箱
2. 倉庫級別配置
咱們將local(倉庫級別)配置成github的帳號。此時咱們須要先init一個git的倉庫並進入裏面後執行以下命令:ssh
$ git config --local user.name 'username' #github帳號名稱 $ git config --local user.email 'username@gmail.com' #github帳號郵箱
以後咱們github的代碼都應該在這個倉庫下拉取。ide
3. 克隆代碼gitlab
$ git clone git@github.com:catalinaLi/ideaTaotao.git
在使用github克隆代碼時,由於配置了config, 因此會經過配置的host自動查找到git@github.com。對於gitlab也是相同的道理
至此,在同一臺電腦上使用gitlab與github已經成功了,盡情感覺吧。另外,你們能夠尋找度娘來學習關於git的config的更多使用
http://www.arccode.net/config...
https://segmentfault.com/a/11...
本文做者: catalinaLi
本文連接: http://catalinali.top/2018/no... 版權聲明: 原創文章,有問題請評論中留言。非商業轉載請註明做者及出處。