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

news2025/4/7 6:56:17

前言

众所周知,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仓库其实是很流畅的

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

像我这里同时添加了两个远程仓库,一个是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 两个文件,就说明已经存在了,可以跳过生成密钥对的步骤,如果找不到目录或者没有这两个文件,则需要先生成。我这里是已经有了的,为了给你们演示,我先把他们删掉😎。

2. 生成密钥对

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

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
复制代码

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

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

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

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

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

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

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

3. 把公钥放到GitHub上

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

  1. 点击头像 -> settings:

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

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

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

4. 测试

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

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

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

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

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

二、访问GitHub网页解决方案

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

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

注意:它能且仅能用于GitHub加速,并不具备梯子的功能,主要是通过ip解析和测速来帮助用户选择最快的访问ip,来达到加速访问的效果。

下载FastGitHub

下载方式:

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

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

启动服务

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

可以直接参考README文档,里面的简单的教程。一般的使用方式是双击打开 FastGithub.UI.exe ,会看到如下界面,然后就可以去GitHub 玩耍 学习啦🤣🤣!

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

注意

需要注意的是,FastGitHub会通过创建CA证书的方式来建立有效连接,这在某些场合下会出现一些 “是否信任xxx证书” 的提示,比如idea:

由于我们配置了SSH协议的远程仓库,所以即使不使用FastGitHub我们也可以正常操作,那这种情况下我们点拒绝就可以了,如果是没配置SSH协议的朋友,那点接受,可以让你通过FastGitHub来建立远程仓库的连接。

如果觉得在idea里总是弹这个提示很烦人的话,可以去设置里面搜索证书,找到服务器证书的选项,并且勾选自动接受非可信证书的选项,就不会再提醒啦!(是不是很贴心😎)

后记

本篇文章讲解了如何流畅的访问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

目前项目还有很大改进和完善的空间,欢迎各位有意愿的同学参与项目贡献(尤其前端),一起学习一起进步😋。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Navicat上如何停止正在运行的MYSQL语句

目录 (一)前言 (二)正文 1. 图形化停止SQL 2. 用SQL方式停止运行的SQL (1)找到运行的SQL的ID (2)运行kill命令杀掉SQL (一)前言 众所周知,…

BI数据分析软件有哪些?为什么说奥威BI很特别?

经过十几年的发展,以及近几年国家的大力鼓励发展大数据智能产业等原因,BI数据分析软件开始越来越被大家所熟知,那么BI数据分析软件都有哪些,为什么说奥威BI数据分析软件很特别?它对企业的大数据智能数据可视化分析起到…

什么样的人最适合做软件测试---喜欢找人帮忙办事的人

今天和大家说下什么样类型的人适合做软件测试。 经验干货,可仔细品 很多测试工程师面试中也可能会遇到问题,说怎么做一名优秀合格的测试工程师,需要有哪些品质,很多人会回答说要仔细,要承受压力,要有责任感…

2013-2020年全国31省数字经济数据集

1、时间:2013-2020年 2、来源:整理自国家统计J和统计NJ 3、指标包括: 信息化基础:"光缆线路长度(公里)、移动电话基站(万个)、信息传输、软件和信息技术服务业城镇单位就业人员(万人)、年末常住人口…

Android-P夜间模式

0 前言 Android-P可通过“Developer options > Night mode”打开夜间模式&#xff0c;本文研究其配置和效果。 验证环境&#xff1a;Pixel 3a、模拟器 1 设置 图1.1 Night mode上图对应XML配置如下&#xff1a; <ListPreferenceandroid:key"dark_ui_mode"and…

【Python】六、程序流程控制综合训练

文章目录实验目的一、列表定义二、元组定义三、列表的常用操作append() -- 向列表的尾部添加元素insert(index&#xff0c;object) -- 向指定的下标处添加元素sort&#xff08;&#xff09;-- 进行排序&#xff08;从下到大 int类型&#xff09;可以对字母进行排序&#xff08;…

多态原理、虚表指针与虚基表的内存布局。

文章目录前言多态虚函数静态类型与动态类型重载、覆盖和隐藏的区别final和override虚函数的默认实参虚析构函数在构造函数和析构函数中调用虚函数多态原理各种形式继承的虚函数内存布局单一继承无覆盖单一继承有覆盖单一虚拟继承有覆盖多继承无覆盖多继承有覆盖菱形继承有覆盖菱…

STC/MLLT--学习笔记

gmm建模方差使用对角矩阵的前提是假设特征之间相互独立&#xff0c;使用full或者block-diagonal矩阵可以对相关性的特征建模&#xff0c;但是参数增多。为了解决使用这个问题&#xff0c;有两种方法&#xff1a; feature-space 使用DCT或者LDA去相关model-space 不同的模型可以…

连续时间系统的时域分析

一.微分方程的求解 1.求微分方程的齐次解 &#xff08;1&#xff09;写出特征方程并求解 2.写出齐次解 2.求微分方程的特解 已知 &#xff08;1&#xff09;根据表2-2&#xff0c;写出特解函数 ​​​​​​​ &#xff08;2&#xff09;带入并求解 3.完全解 二.微分方…

基于GRU与注意力机制实现法语-葡萄牙语的翻译详细教程 数据+代码

本教程通过机器翻译的例子来介绍和实现一个简单的机器翻译方法,机器翻译是指将一段文本从源语言(如语言A)自动翻译到目标语言(如语言B)。本教程通过加载和预处理数据、构造编码器和解码器、训练模型、结果评价得到一个可以应用的机器翻译工具。 1.2 任务描述 神经机器翻译方…

uni-app 介绍及使用

一、什么是uni-app uni-app由dcloud公司开发的多端融合框架&#xff0c;是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一套代码&#xff0c;可发布到iOS、Android、Web&#xff08;响应式&#xff09;、以及各种小程序&#xff08;微信/支付宝/百度/头条/飞…

单文件组件环境配置步骤---vue-cli版

因为浏览器只认识&#xff1a;html、css、js文件&#xff0c;其他一概不认识&#xff1b; 所以要把单文件组件的vue文件转化为上面浏览器能认识的文件&#xff1b; 有两种环境配置途径&#xff1a; 第一种就是&#xff1a;配置webpack环境&#xff0c;要下载很多东西&#x…

灰色预测GM(1.1)模型及matlab程序负荷预测

灰色GM(1.1)预测模型 GM&#xff08;1.1&#xff09;模型由包含单一变量的一阶微分方程构成的模型&#xff0c;是灰色模型中最常用的模型。 设有负荷变量为的原始数据列: (3-1) 生成一阶累加数据列&#xff1a; (3-2) 其中 (3-3) 一阶微分方程的解呈指数增长形式&#xff0c…

URLDNS利用链分析

目录 前言&#xff1a; (一&#xff09;原理 &#xff08;二&#xff09;利用链 再来分析 URLDNS.java 这个文件&#xff0c;并且在入口处设置断点进行调试&#xff1a; &#xff08;三&#xff09; POC 参考资料 前言&#xff1a; URLDNS是Java反序列化中比较简单的一个链…

引擎入门 | Unity UI简介–第2部分(1)

欢迎回来! 在这个三部分教程系列的第二部分中&#xff0c;你将学习如何在用户界面中加入动画。 在上一个部分中你学习并创建了一个带有两个按钮的场景&#xff0c;也学会了如何使用图像、按钮和文本UI控件&#xff0c;并学习了RectTransform、Anchors和Pivots等核心概念&#…

元宇宙的核心技术之我见

14天学习训练营导师课程&#xff1a; 张子良《 元宇宙体系结构、关键技术和实践探索》 前言 提起元宇宙&#xff0c;相比读者都有所耳闻&#xff0c;而且元宇宙最近两年时间里异常的火&#xff0c;堪比之前的人工智能的火爆场景&#xff0c;甚至要超越人工智能的火爆度了。但是…

kubernetes namespace pod label deployment介绍与命令

kubernetes namespace pod label deployment 介绍与命令 1&#xff1a; namespace Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下&#xff0c;kubernetes集群中的所有的Pod都是可以…

STM32实战总结:HAL之wifi

关于无线传输的基础知识&#xff0c;参考&#xff1a; 无线通信技术概览_路溪非溪的博客-CSDN博客 学了这么多&#xff0c;发现信息技术主要就是数据的存储、处理以及传输这几个过程。通过各种各样的技术&#xff0c;来实现这几个目标。 wifi模块 现在常用的是wifi模块&#xf…

今天面了个腾讯拿38K出来的,让我见识到了基础的天花板

各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0c;他山之石&#xff0c;可以攻玉&#xff0c;多看多借鉴还是有帮助的&#xff0c;这次腾讯也在疯狂…

自动化测试如何实施落地?详细教程来了

目录 前言 落地前&#xff1a;分析因素 开展前&#xff1a;评估价值 落地过程&#xff1a;解决问题 推广运营&#xff1a;关注反馈&输出价值 文末总结 重点&#xff1a;配套学习资料和视频教学 前言 这篇文章&#xff0c; 就聊聊自动化项目如何落地&#xff0c;以及…