官网地址:https://help.github.com/categories/github-pages-basics/

GitHub页面是什么?

GitHub页面是一个静态的站点托管服务。

GitHub页面的设计目的是直接从GitHub存储库中托管您的个人、组织或项目页面。要了解更多关于GitHub网站的不同类型,请参见“用户、组织和项目页面”。

您可以使用Jekyll主题选择器在网上创建和发布GitHub页面。如果您喜欢在本地工作,您可以使用GitHub桌面或命令行。

GitHub页面是一个静态的站点托管服务,不支持服务器端代码,比如PHP、Ruby或Python。

使用GitHub页面的指导方针。

GitHub网站创建于2016年6月15日之后,使用GitHub。io域是通过HTTPS提供的。如果您在2016年6月15日前创建了您的站点,您可以启用HTTPS支持流量到您的站点。

GitHub网站不应该用于敏感的交易,比如发送密码或信用卡号码。

你使用GitHub的页面会受到GitHub服务条款的影响,包括禁止转售。

警告:GitHub页面站点在internet上公开可用,即使它们的存储库是私有的。如果您的页面存储库中有敏感数据,您可能希望在发布之前删除它。

使用限制

GitHub页面站点受以下使用限制:

GitHub页面源存储库的建议限制为1GB。

发布的GitHub页面站点可能不超过1 GB。

GitHub网站的带宽限制为每月100GB。

GitHub页面站点的软限制为每小时10个构建。

如果你的网站超过这些使用配额,我们可能无法提供你的网站,或者你可能会收到一个礼貌的电子邮件从GitHub支持建议策略以减少你的网站在我们的服务器上的影响,包括将第三方内容分发网络(CDN)前面的站点,利用其他GitHub特性,如发布,或移动到一个不同的托管服务,更好的满足您的需要。

此外,GitHub网站必须避免:

以我们的服务条款或社区准则为非法或禁止的内容或活动。

暴力或威胁的内容或活动。

过度的自动化批量活动(例如,垃圾邮件)

破坏GitHub用户或GitHub服务的活动。

为GitHub页面配置一个发布源。

您可以配置GitHub页面,以便将您的站点的源文件从主分支中发布,或者在您的主分支上的一个/docs文件夹中发布项目页面和其他满足特定标准的页面。

如果您的站点是一个用户或组织页面,有一个名为<用户名>.github的存储库。io或< orgname > .github。io,您不能在不同的位置发布站点的源文件。具有这种存储库名称的用户和组织页面仅从主分支发布。

有关不同类型的GitHub页面站点的更多信息,请参见“用户、组织和项目页面”。

没有用户名命名方案的存储库的默认源设置。

发布站点源文件的默认设置取决于站点类型和站点存储库中的分支。

如果您的站点存储库没有主或ghpage分支,那么您的GitHub页面发布源被设置为None,而您的站点没有发布。

none-source-setting

在您创建了一个master或ghl -page分支之后,您可以将一个作为发布源,这样您的站点就会被发布。

如果您使用一个主或ghpage分支来派生或上传站点存储库,那么您的站点的源设置将自动为该分支启用。

使GitHub页面可以从主页面或ghl页面发布站点。

要选择作为发布源的master或ghl -page,必须在存储库中拥有分支。如果您没有主或ghpage分支,您可以创建它们,然后返回到源设置来更改您的发布源。

在GitHub上,导航到您的GitHub页面站点的存储库。

存储库设置在您的存储库名称下,单击“设置”。

选择源下拉菜单选择master或ghc -page作为您的GitHub页面发布源。

click-save-next-to-source-selectionClick保存。

从您的主分支的一个/docs文件夹中发布您的GitHub页面站点。

要从主分支的a /docs文件夹中发布站点的源文件,您必须拥有一个主分支,您的存储库必须:

在存储库的根目录中有一个/docs文件夹?

不遵循存储库命名方案.github。io或< orgname > .github.io

GitHub页面将读取所有内容,包括从/docs文件夹中发布您的站点,包括CNAME文件。例如,当您通过GitHub页面设置编辑自定义域时,自定义域将写入/docs/CNAME。

提示:如果您在启用后从主分支中删除/docs文件夹,那么您的站点将不会构建,您将会为一个缺失的/docs文件夹获取一个页面构建错误消息。

在GitHub上,导航到您的GitHub页面站点的存储库。

在名为/docs的主分支上创建存储库根目录中的文件夹。

存储库设置在您的存储库名称下,单击“设置”。

选择源下拉菜单选择master branch /docs文件夹作为您的GitHub页面发布源。

提示:如果/docs文件夹在主分支上不存在,主分支/文档文件夹源设置将不会显示为选项。

click-save-next-to-master-branch-docs-folder-source-selectionClick保存。

用户、组织和项目页面。

GitHub页面有两种基本类型:用户/组织页面和项目页面。它们几乎相同,但它们之间有一些重要的区别。

GitHub页面创建于2016年6月15日之后,使用GitHub。io域是通过HTTPS提供的。有关更多信息,请参见“使用HTTPS保护您的GitHub页面站点”。

提示:GitHub页面不应该用于敏感的事务,比如发送密码或信用卡号码。

请注意,在发布时页面总是可以公开访问的,即使它们的存储库是私有的。

GitHub页面的类型页面默认的域&主机位置在GitHub位置上,用于构建您的页面站点。

用户页面站点username.github。io主

网站orgname.github组织页面。io主

项目页面站点由用户帐户username.github拥有。主服务器上的io/projectname master、ghl -pages或a /docs文件夹。

项目页面站点由一个组织机构所有。github。主服务器上的io/projectname master、ghl -pages或a /docs文件夹。

要了解GitHub页面网站的自定义域如何重定向,请参见这个自定义域重定向图表。

用户与组织页面

用户和组织页面位于专用于GitHub页面文件的专用存储库中。您需要使用帐户名称来命名此存储库。

您必须使用username.github。io命名方案。

来自主分支的内容将用于构建和发布您的GitHub页面站点。

您只能为用户或组织页面存储库使用自己的帐户名称。这样的存储库乔/ bob.github。io不会构建用户页面站点。

在构建用户页面时,可以在http(s)://<用户名>.github.io。

构建您的用户和组织页面。

用户页面可以由任何用户帐户建立,并有一个经过验证的电子邮件地址。它们还可以使用部署键来自动化流程。

组织页面可以由任何成员通过访问存储库和经过验证的电子邮件地址来构建。要实现自动化构建,可以将机器用户设置为组织的成员。组织页面不支持部署键。

项目页面

与用户和组织页面不同,项目页面被保存在与他们的项目相同的存储库中。个人帐户和组织都可以创建项目页面。个人帐户的项目页面的URL将是'http(s)://<用户名>.github。一个组织的URL将是'http(s)://.github。io / < projectname >”。创建项目页面的步骤对两者都是相同的。

项目页面类似于用户和组织页面,有一些细微的差别:

您可以从主或ghpages分支构建和发布项目页面站点。你也可以在你的主分支的一个/docs文件夹中发布你的站点。有关更多信息,请参见“为GitHub页面配置发布源”。

如果你不使用一个自定义的领域,项目页面网站服务在用户页面站点的子路径:username.github.io / projectname

如果您在用户和组织页面站点上使用自定义域,则自定义域将替换username.github。io在该帐户下托管的所有项目页面站点的URL中。使用自定义域的项目页面站点也可以在username.github上使用。个人账户的io/projectname,以及orgname.github。io / projectname组织。

定制的404s只有在使用自定义域时才会起作用。否则,将使用用户页404。

使用命令行创建项目页面。

如果您熟悉命令行Git,那么手动创建项目页面站点是很容易的。

做一个新的克隆

要设置项目页面站点,您需要创建一个新的“孤儿”分支(在您的存储库中没有与现有分支有共同历史的分支)。最安全的方法就是从一个新的克隆开始:

git克隆https://github.com/user/repository.git

#我们克隆存储库

克隆到“库”……

远程:计数对象:2791,完成。

远程:压缩对象:100%(1225/1225),完成。

遥控:总计2791 (delta 1722),再利用2513 (delta 1493)

接收对象:100% (2791/2791),3.77 MiB | 969 KiB/s,完成。

解决delta: 100%(1722/1722),完成。

创建一个主分支

一旦您拥有了一个干净的存储库,您就需要创建一个新的主分支,除非您的克隆存储库已经有了一个主分支。

提示:您还可以为您的项目页面站点创建一个ghpage分支。要了解更多关于您的选项,包括从主分支的/docs文件夹中发布项目页面的选项,请参见“用户、组织和项目页面”。

将目录切换到新的克隆存储库:

光盘存储库

检查您的存储库是否已经有一个主分支:

git分支

#显示存储库的分支列表。

*分支名称

*分支名称

如果您还没有在您的存储库中拥有一个主分支,那么创建一个新的主分支:

git checkout,孤儿的主人

#创建一个主分支,没有任何父母(它是一个孤儿!)

切换到一个新的分支“master”

提示:如果您刚刚创建了主分支,那么当您使用git分支命令时,它不会出现在您的分支列表中,直到您第一次提交。

删除所有文件以创建一个空的工作目录。

一旦您拥有了一个主分支,您将需要从工作目录和索引中删除所有内容:

git rm射频。

从老工作树中删除所有文件。

rm .gitignore”

添加内容,推动

为了在您推送到页面的存储库时触发构建,您必须首先验证您的电子邮件地址。

现在您有一个空的工作目录。您可以在该分支中创建一些内容并将其推送到GitHub。例如:

echo "My Page" > index.html。

git添加index . html

git提交- - -m“第一页提交”

git push来源主

您的GitHub页面现在应该可用了。如果构建失败,您将收到一封电子邮件。

加载新的GitHub页面站点。

在您推送到主分支后,您的项目页面站点将在“http(s)://<用户名>.github”上可用。io / < projectname >”。请注意,在发布时页面总是可以公开访问的,即使它们的存储库是私有的。

要为GitHub网站设置一个自定义域,请参见“用GitHub页面设置自定义域”。

联系一个人

使用HTTPS保护您的GitHub页面网站

您可以强制HTTPS为流量添加一层加密到GitHub Pages站点,如果它有一个github.io域。

启用HTTPS强制执行后,您对GitHub Pages网站的HTTP请求将被透明地重定向到HTTPS。

在2016年6月15日之后创建并使用github.io域名的GitHub Pages网站需要执行HTTPS 。如果您在2016年6月15日之前创建了GitHub
Pages网站,则可以手动启用HTTPS实施。使用自定义域名的GitHub页面不支持HTTPS。

提示: GitHub Pages网站不应该用于发送密码或信用卡号等敏感交易。

  1. 在GitHub上,导航到存储库的主页面。

  2. 在您的存储库名称下,单击  设置。

  3. 在“GitHub页面”下,选择强制HTTPS。

解决混合内容的问题

如果您为自己的网站启用了HTTPS,而且您的网站的HTML仍然通过HTTP引用图片,CSS或JavaScript,那么您的网站将提供混合内容,并且您可能在加载资源时遇到问题。提供混合内容也会使您的网站不太安全。

要删除网站的混合内容,提高网站的安全性并解决与加载混合内容相关的问题,请修改网站的HTML文件并更改http://https://使所有资产都通过HTTPS投放。

对于使用Jekyll的GitHub Pages网站,您的HTML文件很可能会存储在_layouts文件夹中。一般来说,CSS是在<head>HTML文件的一部分中找到的。JavaScript通常位于<head>结束</body>标记之前或之前。图像通常在该<body>部分中。

提示:如果您无法找到您网站中的资产,请尝试在http文本编辑器或GitHub上搜索您网站的代码。

如何在HTML文件中引用资产的示例

资产类型 HTTP HTTPS
CSS <link rel="stylesheet" href="http://example.com/css/main.css"> <link rel="stylesheet" href="https://example.com/css/main.css">
JavaScript的 <script type="text/javascript" src="http://example.com/js/main.js"></script> <script type="text/javascript" src="https://example.com/js/main.js"></script>
图片 <A HREF="http://www.somesite.com"><IMG SRC="http://www.example.com/logo.jpg" alt="Logo"></a> <A HREF="https://www.somesite.com"><IMG SRC="https://www.example.com/logo.jpg" alt="Logo"></a>

取消发布Project Pages站点

如果您的项目不再被维护,您可能希望取消发布您的GitHub项目页面网站。

要取消发布GitHub Project Pages站点,请删除gh-pages项目存储库中的分支。有关更多信息,请参阅“ 在存储库中创建和删除分支 ”。

要取消发布用户页面站点,请参阅“ 取消发布用户页面站点”

取消发布用户页面站点

如果内容不再相关,或者不想再公开发布,则可能需要取消发布GitHub用户页面站点。

要取消发布用户页面网站,请删除master分支或删除您的username.github.io存储库。有关更多信息,请参阅“ 删除未使用的分支”

要取消发布Project Pages站点,请参阅“ 取消发布Project
Pages站点”

进一步阅读GitHub页面

请参阅“ 自定义GitHub页面 ”了解更多关于使用批准的Jekyll插件和GitHub
Pages网站,创建自定义404页面以及查看可用存储库元数据的更多信息。

请参阅“ GitHub页面构建疑难解答 ”和“ 自定义域疑难解答 ”以获取进一步的帮助。

后续

关注我,每天都有优质技术文章推送。工作,学习累了的时候放松一下自己。

欢迎大家关注我的微信公众号:「醉翁猫咪」

GitHub页面基本知识的更多相关文章

  1. 浅谈github页面域名绑定

    来源:http://yanping.me/cn/blog/2011/12/04/github-pages-domain/ 前段时间看到COS上的各位都有博客,也想开个博,给COS的各位管理员发邮件,向 ...

  2. GitHub页面布局乱了,怎么解决??

    GitHub页面布局乱了,怎么解决?? GitHub乱了,怎么解决?? 一年一度的布局又乱了!!! F12一下下面有东西加载不了,,,, Refused to evaluate a string as ...

  3. GitHub 基本常用知识解答

    1.Fork.Watch.Star 是什么意思? fork的意思是从别人的代码库中复制一份到你自己的代码库,与普通的复制不同,fork包含了原有库中的所有提交记录, fork后这个代码库是完全独立的, ...

  4. github 相关操作知识

    新设备上使用github 1.要在本地创建一个ssh key ssh-keygen -t rsa -C "email address" 2.界面提示进入.ssh文件夹下,找到id_ ...

  5. OScached页面缓存知识总结一

    OSCache页面缓存 什么是OSCache? OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能.OSCache ...

  6. 关于Git和GitHub的一些知识

    git是分布式的版本控制工具,可离线,svn是集中式的,要联网操作.集中式的所有数据都放在服务器端,如果服务器宕机,则历史记录也可能就丢失了,这叫做单点故障.分布式的数据可直接保存在客户端. 为何要版 ...

  7. GitHub 基本常用知识解答2

    1.如何拥有一个Git仓库的两种途径 (1)在已有的目录中,初始化一个新的. (2) 比如一个新的项目,或者一个已存在的项目,但该项目尚未有版本控制.如果你想要复制一份别人的项目, 或者与别人合作某个 ...

  8. html 制作静态页面新知识

    1.在区块线边框添加一条水平线 例如:<div  style:"height :300px;width:800px;border-bottom: solid 1px orange ;& ...

  9. QiyeProject SpringMVC 项目 d15866p148.iok.la 主要做主页应用,消息应用不管了 用户微信号有点像乱码的那个是openID 找同伴:在项目的GitHub页面里找提问过的人,还有fork,star的人

    消息型应用支持文本.图片.语音.视频.文件.图文等消息类型. 主页型应用只支持文本消息类型,且文本长度不超过20个字. 填写必要信息 URL /QiyeProject/src/org/oms/qiye ...

随机推荐

  1. WPF 使用 AppBar 将窗口停靠在桌面上,让其他程序不占用此窗口的空间(附我封装的附加属性)

    原文:WPF 使用 AppBar 将窗口停靠在桌面上,让其他程序不占用此窗口的空间(附我封装的附加属性) 本文介绍如何使用 Windows 的 AppBar 相关 API 实现固定停靠在桌面上的特殊窗 ...

  2. Go内存分配器可视化指南【译】【精】

    当我第一次开始尝试理解 Go 语言的内存分配器时,整个过程让我抓狂.一切看起来都像一个神秘的黑盒子.因为几乎所有技术魔法(technical wizardry)都隐藏在抽象之下,所以你需要一层一层的剥 ...

  3. 16 doc values 【正排索引】

    搜索的时候,要依靠倒排索引:排序的时候,需要依靠正排索引,看到每个document的每个field,然后进行排序,所谓的正排索引,其实就是doc values 在建立索引的时候,一方面会建立倒排索引, ...

  4. 2019 携程旅行网java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.蚂蚁金服等公司offer,岗位是Java后端开发,因为发展原因最终选择去了携程,入职一年时间了,也成为了面试官 ...

  5. Linux的巡检命令

    # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname ...

  6. pandas-01 Series()的几种创建方法

    pandas-01 Series()的几种创建方法 pandas.Series()的几种创建方法. import numpy as np import pandas as pd # 使用一个列表生成一 ...

  7. php长连接应用

    php长连接和短连接 2012-12-05 17:25 3529人阅读 评论(0) 收藏 举报  分类: 我的收藏(8)  什么是长连接,如果你没听说过,可以往下看! 长连接到底有什么用?我想你应该见 ...

  8. sublime 快速编写代码技巧

    在sublime上装了Emmet插件后,我们就可以利用以下技巧快速编写代码 1.自动生成html头文件 html:5 或!:用于HTML5文档类型 html:xt:用于XHTML过渡文档类型 html ...

  9. JAVA基础之HttpServletRequest请求

    HttpServletRequest请求是获取请求行.请求头和请求体:可以通过这个方法设置防盗链,获取地址.牢记解决乱码的方式. 怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持reques ...

  10. js 获取 对象 属性名称(转载)

    来源:https://www.cnblogs.com/YuyuanNo1/p/9257634.html dataObj = {name : su,age : 26,height : 18cm }; f ...