请问GitHub存储库链接网络图片为何无法正常显示且如何解决?
你好朋友
网页无法显示应该是网络路径出现问题,(查看ssl证书是否过期,导致浏览器显示不安全自动不访问)
解决办法可以先复制一下网络的路径,单独用浏览器打开,然后无视安全问题继续访问可以,直到可以看到,这样的方法可以暂时解决自己设备的无法显示的问题。
如果这种方法可以显示的话那就是ssl证书问题了,可以登录一下你的第三方储存平台查看是否过期,过期的话续上就好了
以前一直听说过Github,但是自己一直不会用。最近不是太忙,于是想捣鼓捣鼓Github,没想到用了将近3个小时,才在Mac上配置成功。
首先简单介绍一下Git和Github
集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
分布式版本控制系统( Distributed Version Control System,简称 DVCS )。在这类系统中,像 Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。
GitHub是一个用于使用Git版本控制系统的项目的基于互联网的存取服务。它是由GitHub公司(先前被称作用Logical Awesome)的开发者Chris Wanstrath, PJ Hyett, 和 Tom Preston-Werner 使用Ruby on Rails写成的。GitHub同时提供商业账户和为开源项目提供的免费账户。根据在2009年的Git用户调查,GitHub是最流行的Git存取站点。
它提供了像 feeds,followers 和显示开发者们怎样在他们的版本库的版本上工作的网络图表。
git是一个版本控制工具
github是一个用git做版本控制的项目托管平台。
1、下载,安装Git,注册GitHub;
从google code上可以获的Mac OS的dmg安装文件
下载地址:htt p:/ /git-osx-installergoogleco dec om/files/git-1712-intel-universal-snow-leopardd mg
安装没有什么好说的,打开dmg文件,然后运行pkg文件,一步一步往后装即可。git 会被安装到/usr/local/git/bin 目录下。
注册GitHub同样非常简单,选择免费的开源账户类型,按部就班走流程即可。
(注意:Git没有图形界面,Git won't add an icon to your dock, it's not that sort of application)
这一步骤,可以参考官方文档。链接:htt p s:/ /helpgith ubc om/articles/set-up-git
2、配置Git(在这步花了好长时间)
首先在终端进入ssh目录。如果你顺利进入了很好。应该是这样
$
cd ~/ssh
$
ls //如果目录下已有文件,建立一个备份文件夹,把原有文件备份进去
$
ssh-keygen -t rsa -C "你的邮箱@xxxcom" //之后一路回车即可
但是我配置的时候一直提示 “no such file or directory”
在stackoverflow上找到了答案。
执行:mkdir ~/ssh 就好了。
前两篇文章给大家分享了 如何在 Github 部署网页 以及 给网页上自定义域名 ,相信很多人就算不看我这两篇分享,也能部署自定义域名的 Github 网页。然而,很快又会被 Github 那拉跨的网速劝退。
我在 Github 上随便找了个 http://blesstosamgithubio/ 的网页测了一下速度,好家伙,大半个中国都访问不了, 点击这里查看详情 。
全是红色,吓死个人儿。再给大家看看上了 CDN 的速度如何:
虽然有的时候访问还不太行,但是整体情况比上面 彳亍 了不少。
由于 Github 服务器在国外,本来信息传递就很慢,再加上某些原因,有的时候甚至连打开都费劲。
那用国外 CDN 如何呢?Emmm,我去 AWS 搞了一下,说实话没太搞懂,而且现在账号都没怎么用了,还处于欠费还钱的状态。。。
我自己刚接触国内 CDN 的时候发现:
什么?使用国内 CDN 只能给国内域名使用?
什么?买了国内的域名还要备案?
什么?备案前还要先租 3 个月的服务器?
草(一种植物),我 TMD 还没开始配置呢,就得花 200 租个服务器?怕我自己不是个憨憨,白嫖失败。
不过,最近发现腾讯云上也可以给国外的域名上 CDN 了,就来分享一波吧。
开始前,希望 xdm 准备好以下东西:
简单过一下 CDN 的原理,CDN 原名叫 内容分发网络 。
为啥叫 内容分发 呢?如果一个快递从黑龙江送到海南,大概需要 45 个小时。
京东 的思路就不一样了:我先把大量的货物都放到海南的一个仓库里,当有人下单后,可以直接从海南的小仓库直接发货,这就能大大减少交货时间,整个框架就是 内容分发网络 。
从上面可以看出 CDN 两大特点:
不知道大家有没有想到这个问题:如果 CDN 做了缓存,那么,就算我发布新版本,CDN 缓存还是旧的文件,用户依然只能看到旧页面。
事实上,无论是 React 还是 Vue 项目,在打包之后,都会将 js,css 的文件名存为 [contenthash]js 和 [contenthash]css ,其中, contenthash 就是整个文件内容的 hash 值。
只要文件内容一变,那么 contenthash 值就会变,会在 CDN 上新上传一份 css 或 js 文件,而且 indexhtml 引用的 css 和 js 资源路径也会跟着变,这就解决了每次发布都不能覆盖上个版本的问题了。
可能有人的又会问了: “ contenthash 值一样,不怕文件被覆盖么?” 。 contenthash 值一样说明了文件的内容是一样的,就算被覆盖了也是被同样的内容覆盖,所以文件覆盖不是问题。
还会有人问: “如果我的文件改一个字,就发布一次,每次发布都会发一个新 js 或 css 文件,那 CDN 上的资源不是会变得越来越多?” 。确实会有这个问题,不过 CDN 的资源空间理论上是无限的,而且 js 和 css 一般不会占很大空间,你也不能一天发 100 个版本吧?就算存储空间不足,让运维去扩充空间就好了。
这里要注意:不能把 indexhtml 打包成 [contenthash]html ,因为 Github 要求我们分支上的 html 文件只能叫 indexhtml ,而同名文件放在 CDN 上又会有上面缓存不更新的问题,所以只有 css 和 js 等静态资源是需要 CDN 缓存的,而 html 是不能缓存的。
总的来说,我们的架构要从这样:
变成这样:
在 DNS 到 Github 之间多了个 CDN 服务器。
首先, 点击: https://consolecloudtencentcom/cdn 进入 CDN(内容分发网络) 的控制台。
点击 域名管理 -> 添加域名 。
然后在 域名配置 选 中国境外 ,填上你的域名,然后选择 静态加速 。
其实 CDN 只是个中间商,本质上是作为中间站转发,所以这里要配置源站的 IP 地址,也就是缓存的 html, css, js 要从哪里获取。因为我们是将网页部署在 Github 上的,所以这里要填入 Github 提供的 4 个 A 记录。
这里不要选择 HTTPS,因为如果使用了 CDN 回源访问之后,Github 自己是检测不出来的,然后也不会给你自动配置 HTTPS,所以千万不要选 HTTPS!通过 HTTP 才能正常回源访问 Github 源网站。
还记得我们刚说不要把 indexhtml 也缓存了么,不然部署后看到还是上一个版本的 html。所以,在服务配置里的 缓存行为-不缓存 里添加 html 的后缀。
同时,你还可以选择 节点缓存 和 浏览器缓存 :
浏览器缓存 好处是可以节省 CDN 上的流量(对,流量也是要钱的,虽然不多),坏处也很明显,万万万一你要真的进行内容刷新,那么用户访问的有可能还是以前的版本。
这里大家按自己的情况来选择就好了,我这里只加了节点 2 天的缓存就够了。
最后点击提交。
给个人网页上 HTTPS 是很有必要的,不然别人进你的网页,浏览器还弹出 “您访问的网站不安全” 就显得有点业余。所以,这一步来给我们的域名上 SSL 证书。
在原来的 内容分发网络控制台 点击 证书管理 创建一个证书。
进入配置页后,先填入你的域名,再选择证书。
相信大部分人刚开始是没有 腾讯云托管证书 的,所以点一下上面的 SSL 证书管理 进入管理页面,再点击申请免费证书(白嫖):
然后一步步去填内容就好:
注意,在第三步这里,需要验证你的域名合法性,需要在 NameSilo 上添加一条 TXT 记录。
添加后会是这样(你也可以等到下一步配置 NameSilo 时再添加 TXT 记录,然后再继续下面的步骤):
当验证通过后,就可以给自己的域名颁发证书了。
最后一步,回到 内容分发网络 ,在 配置证书 里绑定刚刚的证书,这样我们的 CDN 也可以拥有 HTTPS 啦。
回到 域名管理 可以发现 CDN 给我们提供了一个 CNAME:
只要将 DNS 的 CNAME 指向 CDN 的 CNAME,那么整条访问链路就被我们串起来了。
打开 NameSilo 的 域名管理页面 :
进入域名详情页后,在 左上角的 DNS Records 点击 Update (这个配置页面是真的难找啊):
然后点击 CNAME 添加两个 CNAME 记录, value 处填刚刚从腾讯云获取的 CDN 的 CNAME 。
然后,去买杯咖啡,看看 B 站,等一小时后,前往你的域名看看吧。
总结一下,我们这里做了什么:
相信配置完这一套,你的网站访问速度会比以前快不少。
如果觉得这篇文章能帮到大家,可以点个赞再走咯~
工具/材料
电子邮箱账号
01通过搜狗搜索GitHub,进入到这个官方网站,这个网站的性质是全世界最大的极客交流平台,点击sign up进行账号注册,如果已经有了账号,可以点击sign in进行登陆。。
02注册的时候需要填写这个用户名,电子邮箱和密码,电子邮箱填写自己正常使用的,因为到后面需要进行邮箱验证。密码需要复杂,包括字母和数字才能设置成功。
03GitHub这里有免费版和会员版,普通用户点击第一个免费版本就可以正常使用建站功能了。
04然后是一个问卷调查表,主要就是了解一下你的编程水平、自己的身份和注册的目的。
05注册完成后会跳转到下面的界面,点击start a project,意思是创建一个项目
06在这里需要验证邮箱地址才能创建成功,这就是之前告诉大家注册的时候要使用自己常用的邮箱的原因。
07打开自己的邮箱,登陆账号,点击邮箱中的verify your email,就会再次跳转到GitHub官网
08这里我们点击创建项目就可以正常创建了。
09在仓库中进行命名创建一个仓库,仓库用于存放网页的代码,网页的素材,可以交权限设置为共享,或者是建私人可见。
10创建成功之后呢,有一行选项卡,点击最后一个setting
11界面向下滚动,找到GitHub pages,点击下面的主题,choose a theme
12这里,我们就选择第一个主题,主要差别就是背景。
13之后在代码也可以看到自己的用户名以及这个仓库名,代码在中间部位可以进行编辑。
14那我们这个网站的网址是什么呢?我们再次点击setting
15同样找到GitHub pages,在下面就会出现自己的网站域名,点击即可进行访问
16这里就可以看到我们之前选中的主题,大概就是下面的这个样子。
17 18修改代码需要点击下面的保存修改,然后进行提交,在界面底部有一个绿色按钮,点击即可。
19然后我们再访问自己的网站,使用F5刷新 ,如果你网页修改的篇幅比较大,它这个服务器会有缓存的时间需要稍微等待一会儿才会在网页上显示。
20怎样将网页分享给别人?
我们创建域名,设计网页不是为了给自己看,需要通过一定的方法将网页进行分享,这里可以使用下面中的工具将网页,用二维码分享给别人。
21选中转化网址,将网页粘贴过来,点击生成二维码
22二维码的样式可以修改,最主要的是可以将其下载下来。
23之后我们就可以将这个二维码,通过QQ,微信等方式分享给好友,让我的网站得到充分的传播。
特别提示代码修改后不会立即同步,需要稍等。
善用GitHub
GitHub是微软旗下的一个在线软件源代码托管服务平台,也是一个拥有八千多万开发者用户的社区。很多开发者应该对GitHub有一定的了解,但非技术人员大多可能并不会去使用它。本文更多是想给非技术人员来介绍这个平台,看完这篇文章,希望能让更多人在上面来学习、创作与展示自己的作品。
GitHub是好的学习平台
GitHub拥有非常多的开源项目,这些开源项目中的一些已经成为了IT行业的软件基石,比如Linux内核项目。
如果你想学一门软件开发的技术,比如学会用Python做一些数据分析,那GitHub就是这方最好的一个学习平台。为什么这么说?
学习首先是需要找一个好的教程,在GitHub上最不缺的就是教程类的项目。以Python为例,通过在GitHub上搜索,可以很容易找到这个Awesome Python的项目,它收集了很多Python相关的教程、项目、库等等。
你可以在这个项目中找到你想要的学习资料。而且因为它是一个Star数近十五万的明星项目,被很多开发者认可,所以上面推荐的资料质量也是非常高的。
当然GitHub并不完全是英文的,中文资料也很多,不过我还是推荐尽可能使用英文的资料,如果你要走技术之路,英文是必须的。
找到教程学习后,接下来就是去开发一个真正的项目了。按正常的流程,我们需要在我们的电脑上配置复杂的软件开发环境,就这一步已经让很多人望而却步了。
但是在GitHub上,你可以直接在网页上编辑代码,然后提交到GitHub上,这样你就可以在任何一台电脑上开发你的项目了。这个功能叫做GitHub Codespaces。
比如下面就是我在开发的一个开源项目,其是一个基于Python的项目,我可以在网页上直接编辑代码,然后提交到GitHub上。
在上图红框部分可以创建一个免费在线的开发环境,打开后就是一个网页版的VSCode。也就是说GitHub给了你一个云端开发环境(一个拥有Root用户权限的Linux系统,可以配置安装任何软件)!这个开发环境可以一直存储在云端,在任何时候打开就可以继续开发,保存在上面的文件也不会被删除。
有时候当你只想阅读其他人的代码时,在GitHub网页上按下键就会自动打开一个在线VSCode的开发环境,相比网页可以更方面的阅读与搜索代码。
GitHub是好的写作平台
基于Markdown的写作一直是我推崇的,早在十年前,我在Wordpress上写作,Wordpress提供了最简单的网站搭建体验,以至于全球有超过四成的网站都是用Wordpress搭建的,包括个人博客。
但Wordpress的搭建还是太麻烦了,虽然现在很多国内的云服务商都提供了一键搭建Wordpress的功能,但还是有很多限制,比如不是免费的,需要备案,需要维护服务器等。
在GitHub上写作非常简单,只需要一个GitHub账号,然后在GitHub上创建一个仓库,然后在仓库里创建一个Markdown文件,就可以开始写作了。写作的内容就是Markdown格式的文本,GitHub会自动将Markdown转换为HTML,然后在浏览器上显示出来。
除了这种方式,还可以使用Cloudflare Pages,它可以将GitHub仓库里的内容自动部署到Cloudflare的CDN上,这样就可以使用自定义域名了。
如果你想要更好的写作体验,还可以使用这个vuepress-theme-hope的开源项目,它提供了非常强大的定制能力,使用方式却很简单,比如我用它在GitHub上搭建了一个文档网站:free4chat开发手记。
在每个页面的底部都有一个在GitHub上编辑此页的按钮,点击后就可以直接在GitHub上修改这个页面,修改后提交,GitHub会自动重新构建网站,然后你就可以在网站上看到修改后的内容了。
由于GitHub的仓库会自动保存每次修订的历史记录,如果出错也可以回退到之前的版本,再也不担心数据丢失的问题了。
GitHub是好的开发平台
GitHub是最好的开发平台。从上面的内容相信你可以看出来,GitHub围绕软件的搜索、阅读与开发体验方面做了很多改进。甚至用一个浏览器就可以完成软件产品的开发、测试与部署。本文不会详细的介绍GitHub的全部功能,但以下这些功能是我感觉非常值得尝试的:
1、GitHub Codespaces:提供一个在线的云端IDE,可以在浏览器里直接编辑代码,然后在云端编译、运行、调试代码,非常方便。
2、GitHub Copilot:提供一个在线的AI代码自动补全功能,可以根据上下文对你的代码自动补全,甚至包括写博客!(这篇文章的一部分就是这个AI小助手自动撰写的,你能看出来吗?)
3、GitHub Actions:提供一个Pipeline as Code的CI/CD服务。比如可以实现,当博客文章更新时,自动发送通知给订阅者,我的博客就实现了类似的功能,具体的实现可以看这个文件:github/workflows/gh-pagesyml。
4、GitHub Packages:提供类似Docker Hub的软件包管理功能。
最重要的是,这些功能很多都提供了免费的额度,足够日常使用了,你要做的就是去创作,利用技术杠杆去实现自己的想法。
利用GitHub打造个人技术影响力
打造个人技术影响力,可能是很多开发者无偿在GitHub上创造各种开源项目的一个主要原因。而技术影响力又可以让开发者能获得更多的机会,比如获得更多的工作机会,影响更多的人等。
在GitHub上你可以找到很多很厉害的人,比如前端大佬antfu,Elixir的作者JoséValim,通过关注这些人的动态,了解最新的技术趋势,不断提高自己的技术能力。
GitHub也是一个很好的技术展示平台,你可以通过创建自己的GitHub Profile来展示自己的技术栈,比如我的GitHub Profile。也可以用这个工具GitHub Profile README Generator来生成自己的GitHub Profile。
基于GitHub的生态
GitHub的生态系统非常庞大,有很多SaaS服务可以与其集成,从而提供完美的开发体验,比如:
1、SSO:很多技术网站都提供了GitHub的SSO集成,尤其是和开发者SaaS服务相关的网站,如果要使用这些服务,则必须要有一个GitHub账号。
2、Cloudflare:全球最流行的CDN,和GitHub集成后,Cloudflare Pages可以实现自动部署,当代码push到GitHub后,Cloudflare会自动将网站发布到Cloudflare的全球网络节点中。
3、Vercel:和Cloudflare Pages一样,集成GitHub后,可以自动部署网站到Vercel的CDN网络中。我的一些小工具就是部署到Vercel上的。
4、Railway:提供了后端服务包括数据库的托管,集成GitHub后,可以自动部署应用到Railway的服务器上。
这些SaaS服务同样都提供了一些免费额度,轻度使用,可以免费做很多小项目。
GitHub Next
GitHub Next正在探索一些能影响软件开发未来的方向,目前有几个方向挺有意思的:
1、AI:或者说深度学习模型,正在逐渐的改变世界,比如GitHub Copilot正是基于深度学习模型来实现代码自动补全的功能。未来基于GitHub Copilot的代码重构、写自动化测试、与开发者结对编程也不是不可能的事情,当然让AI帮我们写文章,或者合写文章也是一件自然而然的事情。
2、语音编程:如果能通过自然语言与GitHub Copilot沟通,那编程将会变成搭积木一样的简单,一些基本的功能就可以通过语音来实现,而不需要写代码。这事想想就觉得不可思议,甚至有种托尼·斯塔克与贾维斯对话去制造钢铁侠战甲的感觉。
3、协作:由于疫情的出现,远程工作正变得越来越流行(或者说需要),远程结对编写代码目前还没有什么比较好的方式,解决多人如何在同一个代码库实时协作是个有意思的领域。
4、可交互文档:虽然GitHub现在对Markdown的支持已经非常好了,但这种支持还仅限静态的,如何让文档变得可交互,让文档更有表达性,也是一个值得进一步挖掘的方向。
虽然我注册GitHub有很多年了,但逐渐投入越来越多的时间在上面还是在这几年。尤其是这两年来,我愈发觉得GitHub正在逐渐改变软件开发的常规模式。
尤其是GitHub Copilot的出现,以及一条龙式的开发体验,甚至以后从代码的设计、开发、测试到部署都可以在GitHub网页上完成,这些都是我之前想象不到的。
希望这篇文章能让读者对GitHub有个全新的了解,如果你还没有注册GitHub,那就赶紧去注册一个吧。
方法/步骤
1在windows系统客户端安装git工具。注:如何安装git工具在此不做介绍,如需了解可网上搜索安装介绍。
2在“本地文件”中添加“git文件”,用于git管理。进入本地文件夹,右击鼠标-单击GitInitHere-生成git文件夹。
3在github创建仓库用于存储管理本地文件,示例:Blog。点击账号前的加号(CreateNew)--Newrepository,根据引导创建一个Blog仓库。
4远程添加github上的Blog仓库。1)进入本地文件夹下-右击鼠标-GitGui-远端(remote)-Add
52)获取github中Blog仓库的地址。
63)在AddRemote窗口中填写名字、Location。名字:BlogLocation:粘贴刚刚复制的Blog仓库路径最后单击“Add”。
7将本地文件内容即“已缓存的改动”,提交git管理的master分支上。
8将本地文件上传到github上去。单击GitGui界面“上传”--“上传”窗口随意勾选一个或多个传输选项--点击“上传”--上传Blog过程中需要输入github的登录账号和密码。
9在github上查看本地文件Blog项目是否上传成功。注意事项git文件夹是隐藏的项目,在“查看”中允许隐藏项目显示才可以看见。“上传”窗口中必须勾选一个或多个传输选项,传输选项不能为空否则上传会失败。
一、 GitHub是一个源代码的在线托管平台,提供了版本控制和协同工作功能。
二、GitHub使用步骤:
步骤一、创建一个知识库
在GitHub里,知识库总是用来组织某一个特定的项目。知识库可以包含文件夹,文件,,音频,视频,数据表或数据集--任何你的项目需要的文件都可以。
步骤二、创建一个分支
分支是同时对一个知识库或者说项目进行工作进行版本区分的方式。
默认的情况每一个知识库都会有一个master分支,这是所在项目的主分支,可以理解为项目的生产环境或正式环境。
步骤三、修改并提交
目前就在 readme-edits 分支里,这是 master的一个拷贝。接下来来进行一些修改。
在GitHub要把修改和提交叫作commits。每一次的commit 都需要一个commit message,用来说明这次修改的目的。Commit
messages保存了所有修改的日志,这样别人可以看出来这个项目作了哪些修改和为什么要做这些修改。
步骤四、创建一个合并请求
合并请求是GitHub进行团队协作的核心,当创建一个合并请求的时候,所做的就是提议将修改合并到别的分支中去。合并请求时会显示两个分支的不同之处,通过绿色和红色来标识新增或删除。
步骤五、合并请求
在这最后一步我们要做的就是把你修改过的分支readme-edits合并到master分支中去。
点击 Merge pull request按钮。
点击Confirm merge。
点击 Delete branch 按钮来删除已经不需要的分支。
0条评论