git多账号间的切换

应用场景:

公司使用的gitlab账号和自己的github账号需要来回切换

https方式:

通过用户名和邮箱进行切换

git config --global user.name "YOURUSERNAME" 
git config --global user.email "YOUREMAIL"

切换后需要清除本地缓存,如windows里缓存的凭据。

ssh方式:

使用ssh方式则需要通过切换秘钥来实现。

1.执行以下命令生成秘钥:

ssh-keygen -t rsa -C "这里换上你的邮箱"

执行命令后需要进行3次或4次确认:

    1.确认秘钥的保存路径(如果不需要改路径则直接回车);

    注意:当需要在本地生成两个不同的秘钥,就要修改这里的路径,如第一个为/c/users/id_rsa,第二个为/c/users/id_rsa2
    2.创建密码(如果不需要密码则直接回车);
    3.确认密码;

2.接着,将生成的秘钥文件id_rsa.pub的内容拷贝到gitHub或者gitlab中的SSH key里:
git多账号间的切换_第1张图片

3.通过以下命令测试是否成功连接

$ ssh -T [email protected]

多用户时出现权限问题的原因:

        github使用SSH与客户端连接。当本地有两个秘钥,始终会用默认的第一个秘钥进行连接,导致无权限访问。

解决

    1.查看系统ssh-key代理:

$ ssh-add -l

    如果系统有代理,可以执行一下命令进行删除:

$ ssh-add -D

单个删除:

$ ssh-add -d ~/.ssh/id_xxx.pub

   2.然后依次将不同的ssh添加代理,执行命令如下:

$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa2

如果出现一下报错,则需要运行下命令 ssh-agent bash:

Could not open a connection to your authentication agent.

你可能感兴趣的:(git)