1.同一臺電腦可以有2個git賬號(不同網站的)
首先不同網站,當然可以使用同一個郵箱,比如我的github,gitlab,bitbucket的賬號都是monkeysuzie[at]gmail.com
這時候不用擔心密鑰的問題,因為這些網站push pull 認證的唯一性的是郵箱
比如我的windows 上 2個賬號一個gitlab 一個github (用的都是id_rsa)
host github
hostname github.com
Port 22
host gitlab.zjut.com
hostname gitlab.zjut.com
Port 65095
不需要指定key的位置。因為默認讀取id_rsa了
這樣子使用起來沒有任何區別,remote 也想平時一樣操作即可。因為郵箱是相同的。
2.同一臺電腦有2個github賬號?咋辦
比如我服務器上模擬的2個用戶
#monkeysuzie@gmail.com 我在gitlab的第一個賬號suzie
host gitlab.zjut.com
hostname gitlab.zjut.com
Port 65095
User suzie
IdentityFile /home/suzie/.ssh/id_rsa
# 我在gitlab的第2個賬號test
host gitlab-test.zjut.com
hostname gitlab.zjut.com
Port 65095
User test
IdentityFile /home/suzie/.ssh/id_rsa_second
#837368104@qq.com 我在github的賬號
host github-osteach.com
hostname github.com
Port 22
User osteach
IdentityFile /home/suzie/.ssh/id_rsa_second
這種情況下,需要幾點注意
1.remote pull push的時候有問題,因為要設置郵箱問題了
pull的時候識別的是郵箱,2個github賬號,2個郵箱,我們自然不能使用global的user.email了
1.取消global
git config --global --unset user.name
git config --global --unset user.email
2.設置每個項目repo的自己的user.email
git config user.email "xxxx@xx.com"
git config user.name "suzie"
之后push pull就木有問題了
備注
生成ssh key
ssh-keygen -m rsa -C "your mail" (當前目錄)
然后可以命名默認id_rsa 或者id_rsa_second 把對應的pub放到公共服務器上。