聊下 git 使用前的一些注意事項

2021-09-04 15:10:11 字數 2556 閱讀 2462

在使用git的時候,不管你的伺服器是開源平台github還是私服gitlab,你都需要clone倉庫到本地,這個clone的時候就需要你選擇連線方式。這個連線方式決定了你與伺服器互動的時候以乙個什麼協議進行。如果你沒搞清楚這兩種方式,可能你在使用的時候會很困惑,別人在push**的時候沒有提示輸入賬號密碼,而你卻有,至少我當初有過這個問題。

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

這是我6年前的開源專案,套打元件。拿這個做例子,紅色範圍內的位址就是ssh的連線位址。你可以通過」use https」切換使用https連線位址。

這是兩種方式連線git伺服器。在clone的時候位址就決定了你的互動協議。這兩種方式與git伺服器互動的區別體現在你每次push**的時候。https協議在你每次push的時候都要求你輸入git賬號密碼,這種方式一般多用於那些你很少push**的場景。ssh是用於那些工程開發,你需要頻繁push**的場景。

https的賬號就是你的git伺服器給你分配的,每次push的時候會有乙個文字框提示你輸入。

ssh的使用需要你的倉庫管理員為你設定乙個公鑰,這樣你每次push**的時候git伺服器才知道你是誰。這是採用rsa(公鑰加密演算法)也稱非對稱加密演算法,rsa產生一對金鑰(公鑰和私鑰),你只需要將你的公鑰提交到git伺服器上即可。當你每次push**的時候就會使用這對金鑰來加解密且驗證身份。

你可能會問,為什麼我不是把私鑰設定到伺服器中而是公鑰,如果你真的這麼想了,也不奇怪。但是你再進一步想,rsa的演算法執行順序就知道了。加密和解密的邏輯是不同的,你提供反了金鑰是執行不了的。

git客戶端生成ssh金鑰對網上有很多文章,這裡就不重複了,主要使用ssh-keygen命令。生成好了之後在你的.ssh目錄下會有一對金鑰檔案。

複製.pub文字檔案中的公鑰,到你的github伺服器上設定,在settings/profile下。

新增乙個新的sshkey。每乙個sshkey的使用都有時間記錄。如果沒有被使用過,ssh的綠色鑰匙是灰色的。這樣你就完成了git連線遠端倉庫,且可以隨時push**了。開始你的git之旅吧。

在使用git進行一系列開發之前,你需要設定下當前git客戶端所代表使用者是誰。這樣你在commit**的時候,commitlog中會顯示author是誰,郵箱是誰。

author: plen-wang

那麼怎麼設定使用者名稱、郵箱尼。你可能使用git config global user.name、git config global user.email來設定全域性的賬號和郵箱。

這麼做沒錯,但是這麼做有乙個問題,就是當你切換不同的git repository的時候你的commitlog就有問題了。因為你設定的是全域性使用者名稱和郵箱,想想看如果你在公司使用的是gitlab,然後的你的使用者名稱和郵箱是公司內部的,突然你切換到外部的github的倉庫上,進行**開發和commit,想想看你的commitlog裡會出現什麼情況。

在git客戶端裡有兩種使用者名稱和郵箱,乙個是全域性,也是預設的。乙個是倉庫級別的。所以當你使用global作為你平時的預設設定時沒關係。但是一旦clone乙個新的倉庫的時候記得設定當前倉庫級別的使用者名稱、郵箱。

檢視全域性使用者名稱、郵箱,git config --global user.name,git config --global user.email    

檢視當前倉庫的使用者名稱、郵箱,git config user.name,git config user.email

設定全域性使用者名稱、郵箱,git config --global user.name 「plen-wang」,git config –global user.email 「[email protected]

設定當前倉庫的使用者名稱、郵箱,git config user.name 「plen-wang-***」,git config user.email 「plen-wang-***@163.com」

你可以通過git config --list 來檢視所有的配置

這裡面會出現兩組user.name、user.email 的設定。最上面的北色框裡的都是全域性配置,下面的白色框裡的是當前倉庫的配置。你可以通過檢視remote.origin.url來識別。

聊下 git 使用前的一些注意事項

在使用git的時候,不管你的伺服器是開源平台github還是私服gitlab,你都需要clone倉庫到本地,這個clone的時候就需要你選擇連線方式。這個連線方式決定了你與伺服器互動的時候以乙個什麼協議進行。如果你沒搞清楚這兩種方式,可能你在使用的時候會很困惑,別人在push 的時候沒有提示輸入賬號...

聊下 git 使用前的一些注意事項

在使用git的時候,不管你的伺服器是開源平台github還是私服gitlab,你都需要clone倉庫到本地,這個clone的時候就需要你選擇連線方式。這個連線方式決定了你與伺服器互動的時候以乙個什麼協議進行。如果你沒搞清楚這兩種方式,可能你在使用的時候會很困惑,別人在push 的時候沒有提示輸入賬號...

聊下 git 使用前的一些注意事項

在使用git的時候,不管你的伺服器是開源平台github還是私服gitlab,你都需要clone倉庫到本地,這個clone的時候就需要你選擇連線方式。這個連線方式決定了你與伺服器互動的時候以乙個什麼協議進行。如果你沒搞清楚這兩種方式,可能你在使用的時候會很困惑,別人在push 的時候沒有提示輸入賬號...