對Git用戶名與Github賬戶關(guān)系的理解

入門學(xué)習(xí)Git的過程中,產(chǎn)生了這樣的困惑:

在電腦上,如果要用Git,我們需要通過命令git config --global user.name "myname"git config --global user.email "myname@email.com"來配置用戶名和email侮措,表明是“誰”在操作Git分扎,來做提交代碼等等一系列操作胧洒。

另外卫漫,如果我們需要使用代碼托管的服務(wù),比如GitHub宏悦,GitHub也會要求我們提供email和用戶名來注冊來注冊包吝,也需要用戶名和email诗越。

再有,如果我們選擇用ssh來訪問GitHub的話(比用https方便块促,https每次都需要輸入用戶名密碼)褂乍,需要產(chǎn)生密鑰對即硼,很多人推薦的產(chǎn)生秘鑰對的方法是用命令ssh-keygen -t rsa -C "myname@email.com"只酥,又要提供一個email。

這三個地方的email到底什么關(guān)系损离,該怎么設(shè)置呢绝编?下面是我的理解,可能有偏頗祖乳,看官取精華秉氧,去糟粕,不要惡語相向亚斋。

基本前提建設(shè)

1. 個人電腦情況

電腦簡稱 說明
HoPC 家中使用的臺式電腦帅刊,Mac系統(tǒng)
CoPC 公司使用的臺式電腦轰驳,Windows系統(tǒng)
Book 自己的筆記本電腦级解,Windows系統(tǒng)
VM 開發(fā)用虛擬機(jī),Linux系統(tǒng)

2. 代碼托管網(wǎng)站賬戶情況

代碼托管網(wǎng)站 用戶名 email地址 說明
GitHub personal personal@126.com 個人郵箱
Gitee company company@company.cn 公司郵箱

假定的情況是這樣,需要在4臺電腦(3臺真實物理機(jī)芒划,1臺虛擬機(jī))上做開發(fā)民逼,我們假設(shè)一部分個人的興趣性工作,代碼托管到GitHub笑诅,另一部分是公司的工作,代碼托管到Gitee上疮鲫,現(xiàn)實中可能是公司搭建的私有服務(wù)器吆你,這里用Gitee來假設(shè)。

該如何設(shè)定

1. SSH秘鑰該如何產(chǎn)生和設(shè)定

設(shè)定SSH秘鑰俊犯,一定要理解妇多,SSH密鑰對本質(zhì)上是為了方便,用來替代用戶名口令的認(rèn)證方式的燕侠。從代碼托管網(wǎng)站的角度來說者祖,我們注冊的時候立莉,提供了我們郵箱,用戶名七问,并設(shè)定了密碼,因此代碼托管網(wǎng)站只能通過用戶名口令來認(rèn)證是否真的是我們這個賬戶的擁有者在操作烂瘫。所以,如果用https的方式奇适,就不用產(chǎn)生什么密鑰對了坟比,但是,每次都輸入密碼嚷往,不方便葛账。

SSH方式,本地產(chǎn)生密鑰對皮仁,然后把公鑰加入到代碼托管網(wǎng)站的秘鑰允許列表里面籍琳,把公鑰加入到網(wǎng)站的允許列表這一步是需要密碼授權(quán)的。這樣操作贷祈,網(wǎng)站承認(rèn)這樣一個事實:用這個密鑰對訪問我趋急,等同于提供了密碼。密鑰對保存在某臺機(jī)器上势誊,這樣從這臺機(jī)器上訪問網(wǎng)站就不需要密碼了呜达,因為這臺機(jī)器上能找到秘鑰來替代口令進(jìn)行認(rèn)證。

所以粟耻,很多博客上查近,產(chǎn)生秘鑰對的時候命令是:ssh-keygen -t rsa -C "myname@email.com",里面的-C參數(shù)帶的email地址沒有什么實際用處挤忙。從命令本身來說霜威,-C只是給產(chǎn)生的秘鑰對加了一個注釋。用notepad++打開id_rsa.pub册烈,可以看到末尾處戈泼,有這個email地址,方便以后拿到這個密鑰對的時候茄厘,根據(jù)這個可能能回憶起來當(dāng)初產(chǎn)生這個密鑰對是干嘛的矮冬。

結(jié)論1:產(chǎn)生ssh密鑰對時,ssh-keygen -t rsa -C "myname@email.com"次哈,里面輸入的email與Git設(shè)定的用戶名胎署,與GitHub等代碼托管網(wǎng)站的用戶名毫無關(guān)聯(lián)。

推薦做法是:每臺電腦上產(chǎn)生秘鑰對時窑滞,加注釋信息內(nèi)容主要跟這臺機(jī)器相關(guān)的內(nèi)容琼牧,并且把秘鑰加入到代碼托管網(wǎng)站的列表里面的時候恢筝,用這個跟某臺電腦密切相關(guān)的名稱。以后如果巨坊,不用這臺電腦了撬槽,從網(wǎng)站上刪除這個秘鑰很方便。

電腦簡稱 秘鑰對產(chǎn)生注釋 代碼托管網(wǎng)站上秘鑰標(biāo)題
HoPC -C "HoPC" HoPC
CoPC -C "CoPC" CoPC
Book -C "Book" Book
VM -C "VM" VM

產(chǎn)生了4個密鑰對趾撵,把這個4個秘鑰對的公鑰侄柔,分別加入到GitHub和Gitee的SSH公鑰列表里面。對于某臺電腦來說占调,只需要一個密鑰對暂题,就能夠訪問多個代碼托管網(wǎng)站了,我們這里究珊,訪問GitHub的時候薪者,秘鑰替代了personal@126.com這個賬戶的的密碼,而訪問Gitee的時候剿涮,就代表的是company@company.cn這個賬戶了言津。

2. git本地用戶名和email如何設(shè)定

這里需要注意的是代碼托管網(wǎng)站對本地設(shè)定的賬戶是如何處理的。代碼托管網(wǎng)站取试,主要看email悬槽,用email地址來匹配自己的賬戶名的郵件地址,如果相同想括,代碼托管網(wǎng)站就認(rèn)為此操作是賬戶所有者的操作陷谱。比如:

如果本地設(shè)定的user.email值是:personal@126.com,由于在GitHub上的賬戶的郵件地址也是personal@126.com瑟蜈,如果從這臺電腦push的話烟逊,GitHub會認(rèn)定這次這個push是賬戶擁有者自己做的,跟直接登錄到GitHub铺根,從網(wǎng)站上修改宪躯,是相同的,修改人是一樣位迂,就是賬戶擁有者访雪。

如果本地設(shè)定的user.email值是:company@company.cn,也能push到GitHub掂林,GitHub會記錄這次的修改是另一個人(用戶名是company)做的臣缀。

另外,還需要注意泻帮,user.name和user.email除了設(shè)定全局值(--gloabl)之外精置,還可以在具體的代碼目錄中設(shè)定自己的user.name和user.email值。

user.nameuser.email的設(shè)定策略就是:設(shè)定global值的時候锣杂,考慮一下脂倦,這臺電腦做公司的事多還是自己的事多番宁,比如公司的電腦,明顯做公司的事情多赖阻,在我們這里最好設(shè)定成:user.email = company@company.cn蝶押,user.name = company。當(dāng)我們需要在公司電腦上干點(diǎn)私活的時候火欧,具體的項目目錄中棋电,git config user.name "personal",git config user.email "personal@126.com",把值改成符合自己要求的苇侵。

總結(jié)

  • ssh-keygen產(chǎn)生的秘鑰對离陶,每臺電腦有一對就夠了,有些博客指導(dǎo)一臺電腦配置多個密鑰對衅檀,必要性不強(qiáng)。

  • 代碼托管網(wǎng)站上霎俩,推薦用電腦本身相關(guān)信息來做秘鑰對的標(biāo)題哀军。在本地生成ssh密鑰對時也推薦用這個信息來做密鑰對的注釋。

  • 配置本地git用戶名時打却,全局配置(--global)考慮該電腦上的工作主要push到哪個服務(wù)器杉适,配置成跟那個服務(wù)器一致的用戶名和郵件地址最好。

  • 如果出了主要push的服務(wù)器外柳击,這臺電腦上的工作還需要push到其他服務(wù)器猿推,那么在具體的項目目錄下,把用戶名和郵件地址配置成和特定的服務(wù)器相同即可捌肴。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹬叭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子状知,更是在濱河造成了極大的恐慌秽五,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饥悴,死亡現(xiàn)場離奇詭異坦喘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)西设,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門瓣铣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人贷揽,你說我怎么就攤上這事棠笑。” “怎么了擒滑?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵腐晾,是天一觀的道長叉弦。 經(jīng)常有香客問我,道長藻糖,這世上最難降的妖魔是什么淹冰? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮巨柒,結(jié)果婚禮上樱拴,老公的妹妹穿的比我還像新娘。我一直安慰自己洋满,他們只是感情好晶乔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牺勾,像睡著了一般正罢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驻民,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天翻具,我揣著相機(jī)與錄音,去河邊找鬼回还。 笑死裆泳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柠硕。 我是一名探鬼主播工禾,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蝗柔!你這毒婦竟也來了闻葵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤癣丧,失蹤者是張志新(化名)和其女友劉穎笙隙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坎缭,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竟痰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掏呼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坏快。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖憎夷,靈堂內(nèi)的尸體忽然破棺而出莽鸿,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布祥得,位于F島的核電站兔沃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏级及。R本人自食惡果不足惜乒疏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饮焦。 院中可真熱鬧怕吴,春花似錦、人聲如沸县踢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硼啤。三九已至议经,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谴返,已是汗流浹背爸业。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亏镰,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓拯爽,卻偏偏與公主長得像索抓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子毯炮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理逼肯,服務(wù)發(fā)現(xiàn),斷路器桃煎,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 有必要先來了解什么是SSH和什么是SSH key篮幢。 SSH Secure Shell (SSH) 是一個允許兩臺電...
    faner閱讀 47,265評論 1 48
  • GitLab是一個利用Ruby on Rails開發(fā)的開源應(yīng)用程序,實現(xiàn)一個自托管的Git項目倉庫为迈,可通過Web界...
    YHWXQ簡簡單單的生活閱讀 87,923評論 3 37
  • 如果你能懂 天涼三椿,起風(fēng) 我也有飛翔的沖動 劃一道并不優(yōu)美的弧 將身影 擠進(jìn)你的眼中 如果你能懂 作為一片未落的葉子...
    猜猜裁紙閱讀 363評論 0 1