黄芪

首页 » 常识 » 预防 » 一台电脑如何同时玩转GitHub和公司G
TUhjnbcbe - 2023/9/8 21:57:00

最近有个小学妹刚入职新公司,公司用的是Git版本管理工具,然后她其实自己也经常玩Github,Git用起来基本操作问题也不大。但是现在她遇到一个小问题,相信这个问题很多程序员(媛)也经常遇到。什么问题呢?来跟大家唠一唠。

大家都知道,在多人协作开发中,我们需要把代码提交到Git服务器的。但是并不是所有人都可以往服务器上推送代码,只有有相应权限的人才能推送,所以就涉及到如何对服务器进行授权的问题。现在授权方式有两种,一种是HTTP/HTTPS协议,另外一种是SSHKey协议。

HTTP/HTTPS协议好处是方便,不需要繁杂的配置,push的时候直接输入用户名和密码就行。但是有个不好的是,每次进行PUSH操作,都需要进行授权,对于长期需要在这个仓库下工作来说,这显得就有点太麻烦了。

还有另外一种授权方式,就是SSHKey,SSHKey是先在本地生成一个公钥和秘钥,然后再把公钥配置到Git服务器上,以后每次提交代码,Git会自动和本地的秘钥进行匹配,如果匹配到了,就代表授权成功,否则就是授权失败。SSHKey的方式好处是一次授权,次次可用。但第一次配置会稍微麻烦一点,不过对于长期在某个Git服务器上工作来说,这样一次麻烦,还是很值得的。

再回到刚刚那个小学妹的问题上,她是用SSHKey的方式在公司的Git服务器授权的,然后她的Github账号用的也是SSHKey方式授权,而同一个SSKKey是不能在两个平台上共用的(用户名和邮箱相同的除外),在理解为什么不能共用之前,先来看下如何生成SSHKey。

一、生成一个SSHKey:

打开gitbash。然后输入命令:ssh-keygen-trsa-C你的邮箱。一顿下一步就可以了,密码都保留为空。然后在当前登录用户的home目录下找到.ssh:C:\Users\hynev\.ssh,打开id_rsa.pub。在github的设置中,点击SSHandGPGkeys,在SSHKeys的地方,点击AddNew,把id_ras.pub中的文本,复制到里面去。注意到没有,你在生成SSKKey的时候,需要用到你的邮箱。一般我们在公司,都会有一个公司的内部邮箱,在Github上,我们用的都是自己私人的邮箱。不同邮箱生成的SSHKey是不同的,因此两个不同的Git服务器是不能公用相同的SSHKey的。那这时候怎么办呢?我们可以生成多个SSHKey,针对每个Git服务器都生成一个对应的SSHKey不就可以了吗?是的,来干起来!

二、生成多个SSHKey:

多个SSHKey生成方式跟之前的有点不一样。这里我们以Github和Gitee两个服务器为例,做个详细介绍。假如我在Github上的邮箱是github

qq.
1
查看完整版本: 一台电脑如何同时玩转GitHub和公司G