你的commit信息被吐槽了么

入職新公司不久,由于公司是花名文化,要求公司的所有賬戶都使用自己的花名信息。公司使用的gitlab倉庫管理代碼,要求每個碼農都使用公司的郵箱注冊自己的gitlab賬戶。昨天被小組組長敲小窗,你的commit信息怎么是zhifei,不是seven(化名,本人花名不好聽),于是我傻乎乎的改了gitlab里的profile個人信息,就這樣開發push代碼,1 week 后,我又被敲小窗了。。。沒錯,我的信息還是github賬戶。。。

大家一般在校園階段開始接觸最早代碼托管倉庫github,大部分百度給的方式就是
git config -g user.name ****, git config -g user.email ****@**.com
然后生成個ssh key,github上設置一下,就這么傻傻的度過了好幾年。

問題:github,gitlab信息傻傻分不清

公司項目使用gitlab賬戶,而個人在github上也有個人倉庫代碼,公司賬戶是花名,公司郵箱,github賬戶是個人郵箱。而git commit的信息,如果你沒有專門設置,會直接使用全局的username useremail。

解決方案:
  1. 首先全局的github信息不需要變化,直接忽視。
  2. 項目目錄下運行如下命令:
git config --local user.name 'seven' && git config --local user.email 'seven@xxx.com'

打開項目的根目錄,.git目錄下config文件的最后就會有你的配置信息了。

[user]
    name = seven
    email = seven@***.com

其實,這時候,test一下,你就會發現,現在push代碼,commit信息就是剛才設置的最新name,email了。

  1. ssh 連接,加速你的push,pull。
    最近push代碼,每次都要輸入username,password。苦惱,肯定是ssh密鑰沒有設置。

ssh key默認是在~/.ssh/目錄下的,有兩個文件id_rsa,id_rsa.pub兩個文件。如果你的github之前設置過,那么一定存在這兩個文件了。

設置gitlab的ssh key,首先生成上面的那兩個文件,不過是另起爐灶,針對gitlab來一個。

ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "seven@xxx.com"

注意:在上面運行這個命令的過程中,會詢問你密碼,記得直接enter,也就是設為empty,否則,你這里設置密碼的話,后面每次pull或push的時候,都會要你輸入密碼,以獲取id_rsa.gitlab。

那么怎么讓你的系統知道選用哪個key文件呢,只需要一個config文件。
在命令行,運行touch ~/.ssh/config文件。
然后,編輯內容,

Host gitlab.***.com
IdentityFile ~/.ssh/id_rsa.gitlab
User seven

配置后,就大功告成了。

后記:今天請教周邊同事這個問題的時候,竟然發現,大家都認為是小事,自動忽略了這個問題,commit信息花名,github賬戶名,不一。好吧,我整理這個文檔,只是為了給大家看。。。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容