我們工作時一般都是使用gitlab,工作電腦也一般配置的 git 是連線 gitlab 的,那麼當我們如果想用同一個電腦實現不同倉庫根據自己的需要到底是推送程式碼到github還是 gitlab,以及使用哪個賬號,(比如如果想用工作電腦維護自己的 github 專案,但是怕後面被公司追究用工作電腦幹私事,省點心力),可以按照如下教程配置一下 git,新配置一個 git,把 git 的公鑰放到 github,使用 git 命令修改指定倉庫的git使用者名稱和郵箱,這樣這個倉庫就能按照我們設定的賬號提交程式碼到 github了。
具體步驟
1、生成新的公鑰檔案
id_rsa_github 字尾可以按照自己的需求修改,最後是你的 github 所繫結的郵箱,執行命令後,一路按回車就行
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "xxx@qq.com"
2、配置新 git 公鑰到 github
進入 ~/.ssh 資料夾下,會看到 2 個新檔案, id_rsa_github
和 id_rsa_github.pub
,id_rsa_github.pub
存的就是公鑰。
執行more id_rsa_github.pub
命令查詢公鑰。複製輸出的所有內容,進入 github 的 ssh 配置頁面,新增公鑰。
3、修改 config 檔案
在 .ssh/config 檔案中配置新 git 賬號的使用者名稱和github域名
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
User zhangsan # gitlab使用者名稱
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
User zhangsan123 # github 使用者名稱,不一定要跟 github 使用者名稱相同,可以自定義想叫的名字,但是需要跟下面配置的 git 使用者名稱保持一致
4、測試能否連線 github成功
執行 ssh -T git@github.com
,如果輸出如下內容說明是連線成功。
Hi luoChunhui-1024! You've successfully authenticated, but GitHub does not provide shell access.
5、設定指定倉庫使用 github 賬號來進行 git 提交
git clone 拉取倉庫或者 git init 倉庫後,進入指定倉庫,執行如下命令,就成功把該倉庫設定成使用新 git 賬號來提交程式碼了,可以提交一些程式碼變更測試一下。
git config user.email "xxx@xx.com"
git config user.name "zhangsan123" # 需要跟 config 檔案裡設定的使用者名稱保持一致
參考
一臺電腦配置兩個Git賬號
一臺電腦繫結兩個git帳號(GitHub和GitLab)
附錄
可以使用以下 Git 命令來檢視你配置的郵箱和使用者名稱:
檢視全域性配置的郵箱和使用者名稱(適用於所有專案):
git config --global user.email
git config --global user.name
檢視當前專案配置的郵箱和使用者名稱:
git config user.email
git config user.name