持续创作,加快成长!这是我参加「日新方案 10 月更文应战」的第26天,点击检查活动概况

前言

众所周知,GitHub是咱们程序员在上班或许学习的时分经常会逛的一个当地[手动狗头],而且假如咱们想参加开源项目的话,GitHub也是一个很好的渠道。

可问题是,GitHub网页总是进不去,提交代码到GitHub也总是超时,简直烦死。

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

有时分咱们在Gitee上看到一个好的开源项目想要参加,可是他人可能只是从GitHub同步到Gitee的,Gitee上的社区完全没人沟通,那这种情况下,想参加项目贡献仍是得去GitHub才行。

为什么咱们拜访GitHub这么慢呢?引证网上的解说:

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

那有聪明的朋友就要说了:“我有梯子我不怕,拜访速度快得很”,那没有梯子的朋友该怎么办呢?

假如你也有这些烦恼,那很快乐你能看到这篇文章,因为它或许能够帮你解决这些问题,至少让你能根本运用GitHub。

要解决的问题

咱们要解决的问题,无非便是两个:

  1. 运用git bash操作GitHub长途库房,比方拉取代码、提交代码等。
  2. 拜访GitHub网页版。

下面我会分别就这两个问题给出解决方案,并附上操作教程。

一、操作长途库房解决方案

大多数同学可能是运用的http协议创立的长途衔接,便是当咱们创立长途库房的时分,运用的是下图里HTTPS的链接,但其实很多人不知道,用SSH协议操作GitHub库房其实是很流通的

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

假如不确定自己是否运用的HTTP协议仍是SSH协议,能够经过指令git remote -v show来检查:

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

像我这儿同时增加了两个长途库房,一个是GitHub(用的SSH协议),另一个是Gitee(用的HTTP协议)。


用HTTP协议衔接GitHub长途库房不行吗?

假如是关于国内的Gitee或许自己公司的Git库房,那咱们用HTTP协议作为长途库房都是能够正常拜访的。

但关于GitHub来说,那就不行了。那会让你感觉到什么叫写了代码却提交不上,反复重试也只是不断超时,命运好的时分才干正常操作。

所以咱们要运用SSH协议来作为GitHub长途库房的链接。这样就会很流通了,十分的流通,跟用Gitee相同流通。

下面给咱们介绍一下SSH的装备办法,学会了就能够自己去装备啦!

装备SSH

SSH是经过公钥密钥的办法来验证身份的,密钥放在自己电脑上,公钥存到渠道上,所以咱们装备好之后,就不再需求运用账号暗码登录了。而且你在本机生成好密钥之后,能够在多个渠道运用,你只需求把公钥存放在多个渠道就好了,他们能够经过密钥识别你的身份。

其实装备SSH的教程网上有很多,假如咱们看我下面的教程还没明白,能够上百度再搜一些其他的教程学习

1. 检查是否存在sshkey

C:\Users\用户名\.ssh文件夹下能够看到当前电脑的sshkey。

假如有 id_rsa 和 id_rsa.pub 两个文件,就阐明已经存在了,能够跳过生成密钥对的过程,假如找不到目录或许没有这两个文件,则需求先生成。我这儿是已经有了的,为了给你们演示,我先把他们删掉。

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

2. 生成密钥对

cmd控制台 上运用如下命令来生成 sshkey:

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

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

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

  1. 第一次提示保存途径,一般不需求修正,直接回车就行

  2. 第2次提示输入暗码短语(等于是sshkey的暗码),能够有也能够没有(主张仍是设置一下),留意输入暗码的时分是不会回显的,这儿假设我设置的是 123456

  3. 第三次是重复输入暗码

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

完结三次操作后就生成结束了,这时分再到.ssh的文件下面去看,能看到你的id_rsa 和 id_rsa.pub 两个文件,就阐明你已经生成成功了。

留意这个 id_rsa.pub 是公钥,将来要放到GitHub上的,另一个id_rsa是私钥,等于是你的暗码,保存好,不要随便发给他人。

3. 把公钥放到GitHub上

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

  1. 点击头像 -> settings:

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

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

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

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

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

  4. 最终点击 Add SSH key,系统会让你输入GitHub账号的暗码,然后就增加完结啦!

4. 测验

咱们用刚装备的sshkey拉取一下GitHub上的项目代码试试。

  1. 直接去项目里仿制一下ssh的链接:

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

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

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

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

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

至此,咱们的SSH就装备完结啦!学会的朋友能够去试试了,保证你的 clone、pull、push 等操作将会十分流通

二、拜访GitHub网页解决方案

这个的话,主要是借助于第三方工具 FastGitHub来拜访的。

FastGitHub是一个免费的、开源的、仅用于加快GitHub的工具,作者是 @dotnetcore,它的根本介绍如下:

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

留意:它能且仅能用于GitHub加快,并不具备梯子的功能,主要是经过ip解析和测速来协助用户选择最快的拜访ip,来达到加快拜访的作用。

下载FastGitHub

下载办法:

  1. 在项目的Releases上进行下载(下载最新版即可):github.com/dotnetcore/…
  2. 发送任意邮件到 fastgithub@qq.com

拜访不了GitHub的同学直接发邮件过去就好啦!

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

启动服务

我下载的Windows版的,下载解压之后会有这样一堆东西:

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

能够直接参阅README文档,里边的简单的教程。一般的运用办法是双击翻开 FastGithub.UI.exe ,会看到如下界面,然后就能够去GitHub 玩耍 学习啦!

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

启动了FastGitHub服务之后,拜访GitHub网页仍然会呈现一些卡顿的现象,可是根本能够保持正常运用的状态。拜访起来偶尔也会有点卡,但至少能正常运用。

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

留意

需求留意的是,FastGitHub会经过创立CA证书的办法来树立有效衔接,这在某些场合下会呈现一些 “是否信任xxx证书” 的提示,比方idea:

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

因为咱们装备了SSH协议的长途库房,所以即便不运用FastGitHub咱们也能够正常操作,那这种情况下咱们点拒绝就能够了,假如是没装备SSH协议的朋友,那点承受,能够让你经过FastGitHub来树立长途库房的衔接。

假如觉得在idea里总是弹这个提示很烦人的话,能够去设置里边搜索证书,找到服务器证书的选项,而且勾选自动承受非可信证书的选项,就不会再提示啦!(是不是很交心)

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

跋文

本篇文章解说了如何流通的拜访GitHub,给出的解决方案是经过装备SSH密钥和运用FastGitHub软件,而且给出了比较详细的教程,假如文章中有任何错误的当地,欢迎各位在谈论区纠正。


最终,欢迎各位参加我的开源项目学校博客,能够试着运用上面教咱们的办法来拜访项目地址。

  • GitHub地址:github.com/stick-i/scb…

项目的技术栈主要是:
后端 Java + SpringBoot + SpringCloud + Nacos + Getaway + Fegin + MybatisPlus + MySQL + Redis + ES + RabbitMQ + Minio + 七牛云OSS + Jenkins + Docker
前端 Vue2 + ElementUI + Axios

现在项目还有很大改善和完善的空间,欢迎各位有意愿的同学参加项目贡献(特别前端),一同学习一同进步。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。