Git-gitee/github/gitlab賬號分離
阿新 • • 發佈:2021-11-20
場景:
公司提供的賬號維護gitlab中的程式碼;自己的賬戶維護在github和gitee中的程式碼;
步驟一
分別對gitlab、github、gitee生成獨立的SSH
#進入 C:\Users\Administrator 開啟gitbash進行以下配置 #gitlab: $ ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "公司提供的郵箱" #github: $ ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "私人的郵箱" #gitee: $ ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "私人的郵箱"
建一個config檔案(這個檔案沒有後綴)來控制三個SSH
$ touch ~/.ssh/config
config:
#gitHub Host github.com HostName github.com User yangjing IdentityFile ~/.ssh/id_rsa.github #gitLab Host [email protected] HostName gitlab.com User yangjing IdentityFile ~/.ssh/id_rsa.gitlab # gitee Host gitee.com HostName gitee.com User yangjing IdentityFile ~/.ssh/id_rsa.gitee
配置解釋:
- Host
它涵蓋了下面一個段的配置,我們可以通過他來替代將要連線的伺服器地址。
這裡可以使用任意欄位或萬用字元。
當ssh的時候如果伺服器地址能匹配上這裡Host指定的值,則Host下面指定的HostName將被作為最終的伺服器地址使用,並且將使用該Host欄位下面配置的所有自定義配置來覆蓋預設的/etc/ssh/ssh_config配置資訊。 - Port
自定義的埠。預設為22,可不配置 - User
自定義的使用者名稱,預設為git,可不配置 - HostName
真正連線的伺服器地址 - PreferredAuthentications
指定優先使用哪種方式驗證,支援密碼和祕鑰驗證方式 - IdentityFile
指定本次連線使用的金鑰檔案
步驟二
關聯遠端倉庫的使用者和郵箱
這裡公司專案(gitlab)使用全域性配置
$ git config --global user.name "yangjing"
$ git config --global user.email "公司提供的個人郵箱"
個人專案(gitee/github)在專案單獨配置
$ git config user.name "yangjing"
$ git config user.email "私人郵箱"
步驟三
在gitlab/gitee/github的個人設定中找到配置SSH的地方,複製 ~/.ssh/id_rsa.xxx.pub 檔案內容貼上到配置sshkey的地方即可;
以gitee為例:
步驟四
測試一下
# 三個程式碼商都有自己獨特的字尾
#測試gitlab
ssh -T [email protected]
#測試gitbub
ssh -T [email protected]
#測試gitee
ssh -T [email protected]
以gitee為例:
出現如上圖資訊說明配置成功啦!
接下來就可以愉快的使用不同的賬戶管理對應的遠端倉庫啦!!!
虛心求教