Git同时配置github和gitee

想要同时使用GitHub和Gitee,但是每次输入密码就会很麻烦。为此,本文将介绍 Git 同时配置 github和 gitee 的ssh key

#查看git配置
git config --global  --list
#没配置过的话先配置用户名和邮箱信息
git config --global user.name “username”
git config --global user.email “email”
#默认没有.ssh目录,
ssh-keygen -t rsa -C "xxxxxxx@xx.com"
#在windows下会生成.ssh目录 [c盘/用户/用户名/.ssh]

1. 查看ssh文件

cd ~/.ssh**  

ls

2. 删除之前的.ssh

 rm -rf id_rsa id_rsa.pub

3. 生成gitee和github 的 SSH Key

ssh-keygen -t rsa -C "xxxxxxx@xx.com" -f "id_rsa_github"
ssh-keygen -t rsa -C "xxxxxxx@xx.com" -f "id_rsa_gitee"

4. 查看SSH Key

cat id_rsa_github.pub**

5. 拷贝 ssh-rsa 开头的 ssh key,然后到github上添加ssh key

6. 添加 config解决ssh冲突

vim config

# 文件类容如下
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee
 
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

7. 测试是否配置成功

ssh -T git@gitee.com  
ssh -T git@github.com

# 配置成功 正常会输出如下
Hi leanku! You've successfully authenticated, but GitHub does not provide shell access.

8. 已经配置了 SSH 密钥,但在 git push 时仍然要求输入用户名和密码

检查远程 URL,如果显示 https://…,说明 Git 仍然在使用 HTTPS 方式。

git remote -v

修改为 SSH URL,leanku/php-msf-docker项目为例

git remote set-url origin git@github.com:leanku/php-msf-docker.git

再次检查,输出应为

origin  git@github.com:leanku/php-msf-docker.git (fetch)
origin  git@github.com:leanku/php-msf-docker.git (push)