小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

一臺(tái)電腦上Github、Gitlab多賬戶管理SSH Key沖突的解決方案

 LibraryPKU 2019-11-27

年終了,突然關(guān)注到自己github上contributions的那張圖,發(fā)現(xiàn)沒(méi)幾個(gè)綠點(diǎn)。感覺(jué)有點(diǎn)不對(duì)勁,才發(fā)現(xiàn)由于今年換了工作,用的是公司郵箱創(chuàng)建的ssh key,所以commit提交并不能與個(gè)人github上的郵箱匹配~經(jīng)過(guò)一番猛如虎的操作,把commit中的公司郵箱地址換成個(gè)人github的郵箱地址,終fix!看著contributions圖,想著明年要點(diǎn)亮多少格子的時(shí)候,又發(fā)現(xiàn)一個(gè)問(wèn)題:公司gitlab和個(gè)人github會(huì)發(fā)生ssh key沖突。

解決方案

方案一:同一個(gè)郵箱

由于郵箱是識(shí)別的唯一手段,那么自然的,這兩者采用同一個(gè)郵箱,生成的 public key 也會(huì)是同一個(gè),上傳到 Github 或者 Gitlab 上面,在 Git 的配置中 ,設(shè)置好 Global 的配置 :git config –global user.name ‘EricYin’ && git config –global user.email ‘layupbolon@sina.com’ 進(jìn)行日常的開(kāi)發(fā)是沒(méi)有問(wèn)題的。

實(shí)際生活中采用同一個(gè)郵箱的可能性并不是太大,這就引出了方案二。

方案二:基于config文件

所謂的方案二,原理上就是對(duì) SSH 協(xié)議配置 config 文件,對(duì)不同的域名采用不同的認(rèn)證密鑰。

1.配置 Git 用戶名、郵箱

# 全局配置,Github倉(cāng)庫(kù)中默認(rèn)使用此配置
git config --global user.name 'layupbolon' && git config --global user.email 'layupbolon@sina.com' 

# 團(tuán)隊(duì)項(xiàng)目配置,每次新創(chuàng)建一個(gè)項(xiàng)目,需要執(zhí)行下
git config --local user.name 'EricYin' && git config --local user.email 'xxxxxx@xxxx.com'

2. 生成 ssh key 上傳到 Github/Gitlab

ssh key 默認(rèn)生成后保存在 ~/.ssh/目錄下 ,默認(rèn)為 id_rsa 和 id_rsa.pub 兩個(gè)文件,由于我們需要分開(kāi)配置,所以這么做:

# 生成公鑰、密鑰的同時(shí)指定文件名,Gitlab使用
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "xxxxxx@xxxx.com"

# 生成默認(rèn),Github使用
ssh-keygen -t rsa -C "layupbolon@sina.com"

在執(zhí)行完以上命令后會(huì)生成如下幾個(gè)文件

3. 配置 config 文件

在 ~/.ssh目錄下,如果不存在,則新建 touch ~/.ssh/config文件 ,文件內(nèi)容添加如下:

Host git@*.corp.xxx.com
HostName http://*.corp.xxx.com
IdentityFile ~/.ssh/id_rsa.gitlab
User EricYin

Host git@github.com
HostName https://github.com
IdentityFile ~/.ssh/id_rsa
User layupbolon

4. 上傳public key 到 Github/Gitlab

以gitlab為例:

  1. 登錄gitlab

  2. 打開(kāi)profile setting中的ssh keys

  3. 在上圖位置填入~/.ssh/id_rsa.gitlab.pub中的內(nèi)容

5. 驗(yàn)證是否OK

看到這些 Welcome 信息,說(shuō)明就是 OK的了。

建議在clone項(xiàng)目的時(shí)候使用ssh方式,如果使用git工具的話,例如sourceTree等,可以在項(xiàng)目上切換ssh,或者切換remote,以上!


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多