于一台电脑上使用多个Github账号

提示:一直以来,都是查找别人的教程,而且每次都是查找不同的教程作以参考,这显得特别麻烦,所以想要不这么麻烦,只能自己编写教程。一是为自己提供方便,二是为他人提供帮助。若有不足之处,可以在评论区提出自己的独特见解。


一、管理全局配置

1.1 查看是否全局配置了user.name和user.email

若想要查看是否配置了user.name和user.email,在git bash窗口执行如下命令:

git config --global user.email
git config --global user.name

若在窗口中没显示name和email,则表示未配置name和email,如下图。
在这里插入图片描述

1.2 删除 user.name和user.email的全局配置

若是未配置过name和email,此步骤可以掠过。若之前配置过,则需要将之前的配置删除。执行如下命令删除name和email配置。

git config --global --unset user.name
git config --global --unset user.email

注:若想要在同一台电脑上使用多个Github账号,使用全局配置是行不通的。应为每次使用Git命令时都会使用全局配置的用户名和邮箱。

二、配置SSH

2.1 生成SSH

本地仓库除了可以通过账号建立与GitHub的连接外,还可以通过SSH 的方式和远程 GitHub 仓库建立连接。我们通过Git Bash执行如下命令,生成 SSH私钥和公钥。私钥存储在本地,公钥复制粘贴到 GitHub 的 SSH Key中。这样当公钥和私钥配对时,就能建立连接。

ssh-keygen -t rsa -C "xxxxxx@xxxx.com"

执行如上命令,在git bash窗口显示如下命令:
由于是配置多个Github账户,所以这里分别为每个账号指定id_rsa文件的名字。
Enter file in which to save the key (/c/Users/MENGDEFANG/.ssh/id_rsa):的冒号(“:”)后面输入指定的id_rsa文件名称。
Enter passphrase (empty for no passphrase):的冒号(“:”)后面输入(Github或GitLab邮箱对应)的密码。
Enter same passphrase again:的冒号(“:”)后面重新输入之上的密码

注:若是只有一个账号的配置,直接按回车即可。

其他Github账号的配置,按照上述步骤操作即可。

2.2 复制id_rsa相应的文件到.ssh文件夹下

我这里指定了新id_rsa文件的名称,但此时此文件并没有放在.ssh文件下,而是放在了 c:/Users/xxxxx/目录下。
在这里插入图片描述
将上面红框中的文件,复制到c:/Users/xxxxx/.ssh/目录下。
在这里插入图片描述

注:若你生成的id_rsa文件是放在了.ssh文件夹下,此步骤略过就行

2.3 将公钥配置在Github的SSH Key中

  1. 登录Github,进入setting设置页面。
    在这里插入图片描述
  2. 单击 【SSH and GPG keys】,进入SSH Key页面。
    在这里插入图片描述
  3. 单击【New SSH Key】,进入添加 SSH Key的页面
    在这里插入图片描述
  4. 将生成的公钥(公钥在指定的新id_rsa文件的id_rsa_xxx.pub中)复制到 key栏,标题随便填写即可。
    在这里插入图片描述
  5. 最后,单击【Add SSH key】提交
  6. 其他的Github账号,按照上述步骤配置即可。

2.4 添加SSH私钥至SSH客户端

  1. 确保ssh-agent正常工作。若使用git bash,执行命令 ssh-agent -s ,若不是,执行命令 eval $(ssh-agent -s)能看到PID
  2. 直接将私钥id_rsa添加到ssh代理中
ssh-add ~/.ssh/id_rsa_163
ssh-add ~/.ssh/id_rsa_126
  1. 若在执行时,发送了 Could not open a connection to your authentication agent.错误,可以执行ssh-agent bash命令解决以上问题,之后,在执行命令ssh-add ~/.ssh/id_rsa[_xxx],然后输入密码回车即可。
  2. 出现如下提示便是配置成功。
Identity added: /c/Users/xxxx/.ssh/id_rsa_163 (xxxxxx@xxx.com)
  1. 其他的id_rsa[_xxx]文件,按照上述步骤即可。

2.5 添加config文件

新建一个config文件,在文件下输入以下内容:

# id_rsa_163配置
Host 163.github.com                
HostName github.com
IdentityFile ~/.ssh/id_rsa_163
PreferredAuthentications publickey
User xxxxxxx@xxx.com
AddKeysToAgent yes
# UseKeychain yes


# id_rsa_126配置
Host 126.github.com                
HostName github.com
IdentityFile ~/.ssh/id_rsa_126
PreferredAuthentications publickey
User xxxxxxx@xxx.com
AddKeysToAgent yes
# UseKeychain yes

配置说明:

Host      主机别名
HostName 服务器真实地址
IdentityFile  私钥文件路径
PreferredAuthentications  认证方式
User 用户名(例中为Github帐号)
# UseKeychain 是否使用Keychain来存储
AddKeysToAgent 是否将秘钥添加到ssh代理中

注:config文件
在这里插入图片描述

2.6 测试

ssh -T git@163.github.com
ssh -T git@126.github.com

三、本地项目

3.1 从远程仓库Github克隆

  1. 从远程仓库克隆时,不能再使用Github提供的ssh路径,应该改为以下形式
git clone git@126.github.com:endless-ops/Vue-Study.git
  1. 克隆成功后,在仓库目录下(Vue-Study目录下),执行命令git remote -v,显示如下内容时
origin  git@126.github.com:endless-ops/Vue-Study.git (fetch)
origin  git@126.github.com:endless-ops/Vue-Study.git (push)
  1. 若不是上述显示的内容,则需要修改远程仓库的 origin
# 先删掉远程仓库原来的origin
git remote rm origin 
# 重新将远程仓库命名为origin
git remote add origin git@126.github.com:endless-ops/Vue-Study.git

3.2 配置本地仓库name和email

在项目文件夹(Vue-Study目录)下,打开git bash,执行如下命令:

git config user.name endless-ops
git config user.email test_endless@126.com
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫很风流

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值