都什么年代了,你居然还连不上GitHub?

简介: 众所周知,GitHub是我们程序员在上班或者学习的时候经常会逛的一个地方[手动狗头],而且如果我们想参与开源项目的话,GitHub也是一个很好的平台。

前言
众所周知,GitHub是我们程序员在上班或者学习的时候经常会逛的一个地方[手动狗头],而且如果我们想参与开源项目的话,GitHub也是一个很好的平台。
可问题是,GitHub网页总是进不去,提交代码到GitHub也总是超时,简直烦死😭😭。
1.png

有时候我们在Gitee上看到一个好的开源项目想要参加,但是别人可能只是从GitHub同步到Gitee的,Gitee上的社区完全没人交流,那这种情况下,想参与项目贡献还是得去GitHub才行😖🤐。
为什么我们访问GitHub这么慢呢?引用网上的解释:
2.png

GitHub的CDN域名遭到DNS污染,无法使用GitHub的加速分发服务器,而它的服务器又是在国外,所以国内的访问速度就会很慢。
3.png

那有聪明的朋友就要说了:“我有梯子我不怕,访问速度快得很”,那没有梯子的朋友该怎么办呢?
如果你也有这些烦恼,那很高兴你能看到这篇文章,因为它或许能够帮你解决这些问题,至少让你能基本使用GitHub🧐。
要解决的问题
我们要解决的问题,无非就是两个:
4.png

使用git bash操作GitHub远程仓库,比如拉取代码、提交代码等。
访问GitHub网页版。

下面我会分别就这两个问题给出解决方案,并附上操作教程。
一、操作远程仓库解决方案
大多数同学可能是使用的http协议创建的远程连接,就是当我们创建远程仓库的时候,使用的是下图里HTTPS的链接,但其实很多人不知道,用SSH协议操作GitHub仓库其实是很流畅的:
5.png

如果不确定自己是否使用的HTTP协议还是SSH协议,可以通过指令git remote -v show来查看:
6.png

像我这里同时添加了两个远程仓库,一个是GitHub(用的SSH协议),另一个是Gitee(用的HTTP协议)。
7.png

用HTTP协议连接GitHub远程仓库不行吗?
如果是对于国内的Gitee或者自己公司的Git仓库,那我们用HTTP协议作为远程仓库都是可以正常访问的。
但对于GitHub来说,那就不行了。那会让你感觉到什么叫写了代码却提交不上🤣,反复重试也只是不断超时,运气好的时候才能正常操作。
所以我们要使用SSH协议来作为GitHub远程仓库的链接。这样就会很流畅了,非常的流畅,跟用Gitee一样流畅🤣🤣。
下面给大家介绍一下SSH的配置方式,学会了就可以自己去配置啦!
配置SSH
SSH是通过公钥密钥的方式来验证身份的,密钥放在自己电脑上,公钥存到平台上,所以我们配置好之后,就不再需要使用账号密码登录了。而且你在本机生成好密钥之后,可以在多个平台使用,你只需要把公钥存放在多个平台就好了,他们可以通过密钥识别你的身份。

其实配置SSH的教程网上有很多,如果大家看我下面的教程还没明白,可以上百度再搜一些其他的教程学习
8.png

  1. 检查是否存在sshkey

在C:\Users\用户名.ssh文件夹下可以看到当前电脑的sshkey。
如果有 id_rsa 和 id_rsa.pub 两个文件,就说明已经存在了,可以跳过生成密钥对的步骤,如果找不到目录或者没有这两个文件,则需要先生成。我这里是已经有了的,为了给你们演示,我先把他们删掉😎。

  1. 生成密钥对

在 cmd控制台 上使用如下命令来生成 sshkey:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
复制代码

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
网上的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

输入上面的指令并回车后会弹出一些提示:

9.png

第一次提示保存路径,一般不需要修改,直接回车就行
10.png

第二次提示输入密码短语(等于是sshkey的密码),可以有也可以没有(建议还是设置一下),注意输入密码的时候是不会回显的,这里假设我设置的是 123456

第三次是重复输入密码

完成三次操作后就生成完毕了,这时候再到.ssh的文件下面去看,能看到你的id_rsa 和 id_rsa.pub 两个文件,就说明你已经生成成功了。
注意这个 id_rsa.pub 是公钥,将来要放到GitHub上的,另一个id_rsa是私钥,等于是你的密码,保存好,不要随便发给别人。

  1. 把公钥放到GitHub上

打开GitHub(打不开咋办?那先看下面的访问GitHub网页教程🤣🤣🤣)

点击头像 -> settings:

点击左边 SSH and GPGkeys,再点击右边 New SSH key:

写个标题(可以随便写,但建议写主机名),然后把刚刚生成的 id_rsa.pub 里面的内容复制过来,粘贴在下面的 key 那个框里(对没错,直接ctrl A全选复制就行):

最后点击 Add SSH key,系统会让你输入GitHub账号的密码,然后就添加完成啦!

  1. 测试

我们用刚配置的sshkey拉取一下GitHub上的项目代码试试。

直接去项目里复制一下ssh的链接:

然后到本机找个文件夹打开 Git Bash,输入 git clone 指令:

这时候会让你输入密码短语,这个就是我们前面生成密钥的时候设置的东西,我设置的是 123456 ,那么输入密码,回车,就可以看到项目被成功拉取啦!这个密码只有第一次拉取项目的时候会让你输入,后面再进行别的操作就不需要弄了。

至此,我们的SSH就配置完成啦!学会的朋友可以去试试了,保证你的 clone、pull、push 等操作将会非常流畅🤣🤣

作者:阿杆
链接:https://juejin.cn/post/7158258577113612302
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章
|
网络协议 Linux Android开发
告别无法访问的github(附解决方案)
最近一行在使用github的时候又登不上去了,挂着NPV都没用 据说是某些不可描述的有关组织机构对该网站的DNS污染或者随机丢包造成的
16217 3
告别无法访问的github(附解决方案)
|
2月前
Github进不去的解决方法
Github进不去的解决方法
|
存储 IDE 开发工具
GitHub发展史
无聊的时候看看
|
API
分享一次我github被封的经历以及迁移指南
分享一次我github被封的经历以及迁移指南
418 0
|
安全 JavaScript 前端开发
腾讯开源的 3 个 GitHub 项目,足够良心!
腾讯开源的 3 个 GitHub 项目,足够良心!
腾讯开源的 3 个 GitHub 项目,足够良心!
|
开发工具 git
突破网络限制,让你更畅快的从GitHub Clone 代码
Github不仅是全球最大的同性交友平台,还是一个巨大的代码库,包含个各种优秀的项目,对于爱学习的你,就忍不住想把源码下载下来,进行仔细研读一番。当敲下git clone的时候就开始漫长的等待。不管你是100M还是200M的光纤,速度永远是几十KB,这和百度云有点像。当然没有什么是充钱不能解决的,百度云可以这个当然也行。充钱开个代理,就能解决问题。如果你不想充钱那就请往下看吧。
突破网络限制,让你更畅快的从GitHub Clone 代码
|
安全
大佬公司的github地址
大佬公司的github地址
163 0
小技巧随手记:关于Github的访问
小技巧随手记:关于Github的访问
小技巧随手记:关于Github的访问
|
API 开发者
重磅!GitHub 命令行客户端 1.0 正式发布!
今天,GitHub 官方正式发布了 GitHub CLI 1.0 版本,它能让开发者直接通过命令行来实现一些基础化的操作,比如创建 issues,发布版本,合并 Pull Requests 等等。
141 0
重磅!GitHub 命令行客户端 1.0 正式发布!