連接方式https、ssh

在使用git的時(shí)候,不管你的服務(wù)器是開源平臺github還是私服gitlab,你都需要clone倉庫到本地,這個(gè)clone的時(shí)候就需要你選擇連接方式。這個(gè)連接方式?jīng)Q定了你與服務(wù)器交互的時(shí)候以一個(gè)什么協(xié)議進(jìn)行。如果你沒搞清楚這兩種方式,可能你在使用的時(shí)候會很困惑,別人在push代碼的時(shí)候沒有提示輸入賬號密碼,而你卻有,至少我當(dāng)初有過這個(gè)問題。

可選擇的協(xié)議有https、ssh兩種,這從git repository倉庫的地址就能分辨出來。

1

這是我6年前的開源項(xiàng)目,套打組件。拿這個(gè)做例子,紅色范圍內(nèi)的地址就是ssh的連接地址。你可以通過”Use HTTPS”切換使用https連接地址。

2

3

這是兩種方式連接git服務(wù)器。在clone的時(shí)候地址就決定了你的交互協(xié)議。這兩種方式與git服務(wù)器交互的區(qū)別體現(xiàn)在你每次push代碼的時(shí)候。https協(xié)議在你每次push的時(shí)候都要求你輸入git賬號密碼,這種方式一般多用于那些你很少push代碼的場景。ssh是用于那些工程開發(fā),你需要頻繁push代碼的場景。

https的賬號就是你的git服務(wù)器給你分配的,每次push的時(shí)候會有一個(gè)文本框提示你輸入。

ssh的使用需要你的倉庫管理員為你設(shè)置一個(gè)公鑰,這樣你每次push代碼的時(shí)候git服務(wù)器才知道你是誰。這是采用RSA(公鑰加密算法)也稱非對稱加密算法,RSA產(chǎn)生一對密鑰(公鑰和私鑰),你只需要將你的公鑰提交到git服務(wù)器上即可。當(dāng)你每次push代碼的時(shí)候就會使用這對密鑰來加解密且驗(yàn)證身份。

你可能會問,為什么我不是把私鑰設(shè)置到服務(wù)器中而是公鑰,如果你真的這么想了,也不奇怪。但是你再進(jìn)一步想,RSA的算法執(zhí)行順序就知道了。加密和解密的邏輯是不同