Git多用户操作

本文最后更新于:2021年10月7日 凌晨

概览:Git多用户操作

Git多用户操作

本地已经有了Github的一个仓库,是outlook邮箱配置的。

还想搭建一个Gitee的仓库,使用qq邮箱配置。

生成ssh密钥

打开git bash,输入:

1
ssh-keygen -C "your_email" -t rsa
  • 记得替换邮箱!

之后会打印出要生成的id_rsa文件及其路径,因为上一个文件已经是这个名字了,直接回车会覆盖,所以输入一个新的名字:

1
\.ssh\id_rsa_giteeqq

回车之后,让输入密码,建议直接回车。

密钥配置远程仓库

复制生成的文件id_rsa_giteeqq.pub的内容,到网页Gitee的公钥处,新建一个,粘贴保存即可。

打开或者创建.ssh/目录下的config文件

配置内容:

1
2
3
4
5
6
7
8
Host Github
HostName github.com
User Colourso
IdentityFile ~/.ssh/id_rsa # Github对应的密钥
Host Gitee
HostName gitee.com
User Colourso
IdentityFile ~/.ssh/id_rsa_giteeqq # Gitee对应的密钥
  • HostName就是对应的域名
  • User就是网站上你的用户名
  • IdentityFile就是认证的文件,名字要填写对应的!且不要加.pub

在工作目录下配置信息

这里不是全局配置,不会影响我另一个Github仓库的配置信息的!

1
2
git config user.name "your_name"
git config user.email "your_email"

[err]尝试从远程仓库clone

直接clone,显示如下错误!

1
2
3
4
5
6
7
8
9
10
11
$ git clone git@gitee.com:xxxxxxxxxxxx/xxxxxx.git
Cloning into 'java-learning'...
The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ECDSA key fingerprint is SHA256:FQGxxxxxxxxxxxxxxxxxxxxxxxxVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitee.com,212.64.62.183' (ECDSA) to the list of known hosts.
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

为SSH key启用SSH代理

上述问题的原因在于在新建SSH的时候没有开启SSH代理

https://blog.csdn.net/qq_42689877/article/details/82497681

1
ssh-add ~/.ssh/id_rsa_giteeqq

启动SSH代理失败:Could not open a connection to your authentication agent.

但是上述过程自行失败

1
Could not open a connection to your authentication agent.

这是要执行一个命令

1
ssh-agent bash

执行完成之后再执行下述命令即可成功:

1
ssh-add ~/.ssh/id_rsa_giteeqq

执行ssh-add时出现Could not open a connection to your authentication agent - Sheldon Xu - 博客园 (cnblogs.com)

然后再次clone即可成功

注意

  • 凡是需要使用到的地方,都需要执行以下的步骤
1
2
3
4
git config user.name "your_name"
git config user.email "your_email"
ssh-agent bash
ssh-add ~/.ssh/id_rsa_giteeqq
  • 这样才能保证工作环境是Gitee账户对应的,否则都会被全局的Github来破坏掉。

另:clone一个项目之后,请进入到项目的内部再进行上述的步骤,否则。。。


参考链接

Git多帐号问题

关于git问题:ECDSA key fingerprint is xxx_yahaha我去的博客-CSDN博客

执行ssh-add时出现Could not open a connection to your authentication agent - Sheldon Xu - 博客园 (cnblogs.com)


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!