github和gitlab倉庫一起使用

2022-08-17 10:33:19 字數 2093 閱讀 5535

github是網路公有**倉庫,一般用於私人**託管,而gitlab一般是企業搭建的內部**倉庫。工作期間,我們都會同時用到這兩個倉庫。可公司郵箱與個人郵箱是不同的,由此產生的 ssh key 也是不同的,這就造成了衝突 。如何在一台機器上面同時使用 github 與 gitlab 的服務?

公司的gitlab生成乙個ssh-key

# 在~/.ssh/目錄會生成gitlab_id-rsa和gitlab_id-rsa.pub私鑰和公鑰。我們將gitlab_id-rsa.pub中的內容粘帖到公司gitlab伺服器的ssh-key的配置中。

$ ssh-keygen -t rsa -c "

註冊的gitlab郵箱

" -f ~/.ssh/gitlab_id-rsa

公網github生成乙個ssh-key

# 在~/.ssh/目錄會生成github_id-rsa和github_id-rsa.pub私鑰和公鑰。我們將github_id-rsa.pub中的內容粘帖到github伺服器的ssh-key的配置中。

$ ssh-keygen -t rsa -c "註冊的github郵箱" -f ~/.ssh/github_id-rsa

~/.ssh下新增config配置檔案,內容如下:

#

github key

host github

port 22user git

hostname github.com

preferredauthentications publickey

identityfile ~/.ssh/github_id-rsa

host gitlabport 22user git

hostname gitlab.com

preferredauthentications publickey

identityfile ~/.ssh/gitlab_id-rsa

下面對上述配置檔案中使用到的配置字段資訊進行簡單解釋:

host

它涵蓋了下面乙個段的配置,我們可以通過他來替代將要連線的伺服器位址。

這裡可以使用任意欄位或萬用字元。

當ssh的時候如果伺服器位址能匹配上這裡host指定的值,則host下面指定的hostname將被作為最終的伺服器位址使用,並且將使用該host欄位下面配置的所有自定義配置來覆蓋預設的`/etc/ssh/ssh_config`配置資訊。

port

自定義的埠。預設為22,可不配置

user

自定義的使用者名稱,預設為git,可不配置

hostname

真正連線的伺服器位址

preferredauthentications

指定優先使用哪種方式驗證,支援密碼和秘鑰驗證方式

identityfile

指定本次連線使用的金鑰檔案

假設gitlab與jgithub的工作目錄分別如下所示:

github工作倉庫:~/workspace/github

gitlab工作倉庫:~/workspace/gitlab

則配置如下:

#

gitlab

cd ~/workspace/gitlab

git init

git config --global user.name '

gitlab

'git config --global user.email '

[email protected]'#

github

cd ~/workspace/github

git init

git config --local user.name '

personal

'git config --local user.email '

[email protected]

'

#

測試github

$ ssh -t [email protected] #

測試gitlab

$ ssh -t [email protected]

同時使用GitHub和GitLab

由於公司團隊使用 gitlab 來託管 同時,個人在 github 上還有一些 倉庫,可公司郵箱與個人郵箱是不同的,由此產生的 ssh key 也是不同的,這就造成了衝突 如何在一台機器上面同時使用 github 與 gitlab 的服務?問題產生場景 無密碼與遠端伺服器互動的秘密 ssh 如果採用...

github和gitlab同時使用

由於公司團隊使用 gitlab 來託管 同時,個人在 github 上還有一些 倉庫,可公司郵箱與個人郵箱是不同的,由此產生的 ssh key 也是不同的,這就造成了衝突 如何在一台機器上面同時使用 github 與 gitlab 的服務?如果採用ssh協議或者git 協議通過終端命令對遠端倉庫進行...

同時使用 GitHub 和 GitLab

先說一下寫這篇部落格的緣由,之前自己開發專案的時候都是用 github 來託管 但是實習之後由於公司專案隱私問題,給分配了 gitlab 的使用者名稱和郵箱,當時我就直接在電腦上把使用者名稱和密碼進行了全域性配置,自那以後我在實習之餘做自己的專案時,每次往 github 上提交 都沒有我的 cont...