Talk is cheap, Show me the code !

使用Github Pages搭建博客(2) -- GitHub Page

blog    gh-pages 

简介

Github Pages是依托Github本身的技术服务经验开发出来的一款产品,配合Wiki、Graph、Pulse、Issue、Pull requests等功能,解决的是分布式的内容版本管理问题。用户通过git仓库创建、托管在github上的静态网站或静态博客,让用户通过该功能分享、诠释自己项目和作品。

Github Pages特点:

  • 由Github免费托管,支持由git版本管理、Github多人协作
  • 只支持静态页面
  • 默认支持Jekyll生成器,允许Github站内生成或者用户上传
  • 可以绑定专有域名,或者使用Github提供的子域名

当然,我们也可以使用其他静态站点生成器,例如:

由于GitHub Page默认只支持Jekyll,其它生成器需要在本地生成好静态页面在上传,而不能在Github站内生成。

创建并托管

1. 创建github帐号

前往 https://github.com/ 页面创建自己帐号,如果已经注册可以跳过该步骤。

2. 创建一个代码仓库

点击github页面右上角”+”,选择”new repository”来创建一个新的仓库,用于自己博客代码和内容管理。

在创建页面,将仓库名设置为user.github.io格式(user是你在github上的用户名),填写其他信息,点击”create repository”来完成创建。

3. 发布到github pages [2]

进入repo界面,点击右上角”Settings”,找到”GitHub Pages”设置项,点击”Automatic page generator”下方的”Launch automatic page generator”。

在出现的”New project site”页面编辑,点击页面下方的”continue to layouts”。然后从提供的几套默认模板中选择一个,点击”Publish page”生成站点。

然后我们在浏览器中输入user.github.io便可访问到我们刚才生成的pages站点。如果之前repo的名字不是user.github.io格式,或者user不是对应的你的github账户名,那站点对应的地址应该是user.github.io/repo(repo是你设置的代码仓库名)。

4. 绑定自己特有域名

进入repo界面,点击右上角”Settings”,找到”GitHub Pages”设置项,在”Custom domain”下方的输入框中输入你的域名,点击”Save”保存。

5. github pages类型和分支切换

GitHub Pages有两种基本类型:

  1. User/Organization Pages(用户/组织站点),对应master分支,对应域名是username.github.io或者orgname.github.io

  2. Project Pages(项目站点),对应gh-pages分支,对应域名为username.github.io/projectname或者orgname.github.io/projectname

将仓库克隆到本地,根据需要切换分支(默认gh-pages分支)

git clone https://github.com/username/username.github.io
cd username.github.io
git checkout -b master
#等同于
git branch master && git checkout master

进入repo界面,点击右上角”Settings”,找到”Branches”设置项,选择”Default branch”下方的分支,然后点击”update”按钮,完成远程Github上的分支切换。

6. 更新github pages站点内容

GitHub Page项目有两种方式:

  • 直接提交静态页面(静态页面可以由任何静态站点生成器生成,或者自己编辑)到某分支,然后push到GitHub的对应分支
  • 提交Jekyll代码到某分支,然后push到GitHub的对应分支,GitHub会自动生成pages项目的静态页面
echo "My Page" > index.html
git add index.html
git commit -a -m "First pages commit"
git push origin gh-pages

如果想删除本地和远程的gh-pages分支,只保留master分支,从而使得域名变成orgname.github.io

#查看分支
git branch -a
#删除远程分支
git branch -r -d origin/gh-pages
#推送空的分支到origin主机上
git push origin :gh-pages

引用:

GitHub Wikipedia github-pages


Posted on By legolas

本站点legolasng.github.io的评论插件已经替换为Disqus,需要FQ才能使用。