1.若之前對 git 設置過全局的 user.name 和 user.email。類似(用git config --global --list 進行查看你是否設置)
一定要清除之前設置的用戶和郵箱
$ git config --global --unset user.name "你的名字" $ git config --global --unset user.email "你的郵箱"
並且在各自項目下自己配置各自的郵箱
如果有2個郵箱註冊了gitlab
分配多個賬號的時候就不要設置全局git配置
2.分別配置2個郵箱的密鑰(打開git bash 更目錄 創建 .ssh)
在ssh目錄下生成公鑰和私鑰
ssh-keygen -t rsa -C "new email"
3.生成第一個可以一直enter,生成第2個郵箱的時候第一enter後,更改密鑰的名字。id_rsa1
(將密鑰配置到線上倉儲就不說了。我的以前的文章有講過)
4.執行ssh-agent讓ssh識別新的私鑰,將2個密鑰都要添加進去
# 可以通過 ssh-add -l 來確私鑰列表 $ ssh-add -l # 可以通過 ssh-add -D 來清空私鑰列表 $ ssh-add -D
ssh-agent bash
ssh-add ~/.ssh/id_rsa1
5.多賬號一定要配置config文件(如果不知道怎麼創建可以從.git裏面複製一個更改)
touch config # 創建config文件
6. ip可以改成你遠程倉庫的host ,
host 可以自定義名字
identityFile 就是你生成的密鑰的地址和名稱
#git1 Host git1 HostName 192.168.0.2 IdentityFile ~/.ssh/id_rsa #git2 Host git2 HostName 192.168.0.2 IdentityFile ~/.ssh/id_rsa1
7. 進行測試鏈接(git1就是你config中的host)
$ ssh -T git@git1
Welcome to GitLab,
如果出現一直讓你輸入密碼,說明你的config 配置有錯誤
8.打開本地的倉庫。鏈接線上倉庫(test4是自定義的線上別名)如果不報錯就不會有問題。
$ git remote add test4 git@git1:root/test1.git
$ git pull test4 master