欢迎光临散文网 会员登陆 & 注册

git多账号设置-GitHub&Gitee

2022-07-15 11:01 作者:张方兴  | 我要投稿

git多账号设置-GitHub&Gitee

内容涵盖

1. 生成密钥

2. GitHub与Gitee的网页配置公钥

3. Git本地配置私钥

4. 测试连接


 

生成密钥

清除原本的git全局配置

通常git全局配置命令如下所示。

git config --global user.name "zhangfangxing" // 配置全局用户名,如 Github 上注册的用户名

git config --global user.email "331325797@qq.com" // 配置全局邮箱,如 Github 上配置的邮箱

查看git全局配置命令如下所示。

git config --global --list

清除之后输出内容如下所示。


如果未清除git全局配置的话,此刻还会输出git的全局用户名和全局邮箱。


 

 

生成密钥对

所谓密钥对是本地git与GitHub或Gitee进行连接时使用的RSA非对称加密密钥对,即本地存储一个私钥,给予GitHub或Gitee一个公钥。每次提交的时候GitHub与Gitee都会比对公钥与私钥。比对成功即可正常使用GitHub或Gitee。

首先我们开始生成 github 上的仓库钥对,通过 -C 参数填写 github 的邮箱:

ssh-keygen -t rsa -C “zhang_fangxing@163.com”

输入回车键后需输入保存的地址和路径和文件名如下图所示。

即此刻可直接回车,将id_rsa文件保存至/Users/zhangfangxing/.ssh/文件夹下。


也可自行进行输入,这个存储的文件在整体配置项目之后可以自行进行删除,并不影响git缓存之中的内容。不过要注意删除文件的话不要清除git的账号缓存,否则无法正常使用。笔者选择删除了文件,只用缓存运行。

单独更改一下输出rsa的名字test_rsa之后,需要输入相关密码,再次回车后需要再次输入密码,如下图所示。


输入密码的时候shell并不会显示内容,自行输入完之后回车即可。


 

至此笔者生成了两套ras文件如下图所示。


其中.pub文件其中内容就是公钥,需要在下个小节复制给GitHub或Gitee,.pub文件其内数据如下图所示。


GitHub与Gitee的网页配置公钥

Github网页配置

选择用户设置如下图所示。



 

 

在用户设置之中选择SSH and GPG keys 如下图所示。


 

选择新建 SSH KEY 如下图所示。


 

输入SSH KEY的相关内容如下图所示。


 

其中Title为可以随意编写的内容,Key中粘贴上一小节提供的.pub文件内全部的数据。

Gitee网页配置

Gitee处选择设置


选择设置之后,在左侧有SSH公钥按钮如下图所示。


 

只需要在这其中如同Github一样将自身的.pub文件粘贴到这其中即可。

Git本地配置私钥

使用下述代码添加本地私钥进本地Git。

ssh-add ~/.ssh/id_zfx_github_rsa // 将 GitHub 私钥添加到本地

ssh-add ~/.ssh/id_zfx_gitee_rsa // 将 Gitee私钥添加到本地

添加完毕后,可以通过执行下述代码进行验证。

ssh-add -l

 

这里需要注意一下笔者用的mac电脑通过brew自动装配的Git配置至此就结束了但是网络上各种博客很多说需要使用ssh的config文件下面内容笔者没进行操作可斟酌考虑

 

编辑 ~/.ssh 目录下的 config 文件,如果没有则请创建。配置内容如下所示。

Host github

HostName github.com

User jitwxs

IdentityFile ~/.ssh/id_rsa_github

 

Host gitlab

HostName gitlab.mygitlab.com

User lemon

IdentityFile ~/.ssh/id_rsa_gitlab

 

该文件分为多个用户配置,每个用户配置包含以下几个配置项:

 

Host:仓库网站的别名,随意取

HostName:仓库网站的域名(PS:IP 地址应该也可以)

User:仓库网站上的用户名

IdentityFile:私钥的绝对路径

 

注: Host 就是可以替代 HostName 来使用的别名。

 

测试连接

可以用 ssh -T 命令检测下配置的 Host 是否是连通的,代码如下所示。

ssh -T github.com

ssh -T gitee.com

 

成功效果如下所示。



 

 

GitHub此刻可以正常pull命令,clone,add,commit,push都可以使用,但是因为网速的事情经常会测试连接失败,值得一提的是,此刻我连GitHub网页都打不开了。但是通过命令仍然可以进行pull之类的操作。


 

 

最后笔者上传的文件如下所示。



 

 

这里值得一提的是,GitHub和Gitee毕竟是两个仓库,所以本地还是需要两个文件夹分别存放两个仓库。通常上传文件之前需要在GitHub或Gitee新建两个仓库,并且clone下来,再在里面提交。笔者是这样操作的。如果有其他更好的操作的小伙伴,可以给笔者发邮件:zhang_fangxing@163.com。

 

clone时选择的是HTTPS如下图所示。



java交流群:

1074468813

 


git多账号设置-GitHub&Gitee的评论 (共 条)

分享到微博请遵守国家法律