不少时候我都在思考一个问题,咱们天天遇到各类各样的问题,而后咱们须要不断google、百度,达到咱们解决问题的目的。可是在这个过程当中,咱们老是可以见到,对于同一个问题,老是有大量错误、copy的博客、文库乃至吊炸天的百度知道,一次又一次减慢了咱们解决问题的进度。更加糟糕的是,这种copy是保量不保质的,因此咱们老是但愿,每当咱们google或者百度的时候,都可以最快解决咱们须要解决的问题。然而,这貌似是不切实际的,在人人都有权利发表文章的今天,要想禁止这种无心义的抄袭几乎是痴人说梦。清晰意识到这一点以后,我以为更加有效的方式是每个发表博客或者活跃于问答网站的人都应该把本身的博客或者解答作到精炼和准确,在某种意义上来讲,这是一种义务和责任。html
固然,前面扯远了点,今天咱们讨论一下传说中的github pages。正如前面所说的,每一篇博客都应该对症下药,因此本文章默认你有github帐号、安装了Git而且熟悉基本的Git操做,只是须要寻求部署github pages方面的知识。git
做为教程,很重要的一点就是要最大化的傻瓜化,本文将重新建一个github仓库开始到成功部署github pages一步步解析。github
第一步:新建一个github仓库"hello-ghpages":网站
如今咱们有了一个空的仓库,上面只有README.md和LICENCE文件,而且注意如今所在的分支是"master"。之因此强调这一点是由于接下来的步骤必须明确本身的github page在哪一个分支下面,这个等会儿再介绍。google
第二步:点击页面右边一列的“Settings”,跳转到项目设置界面:spa
第三步:在设置界面咱们可以看到有一块的标题是“Github Pages”,点击这一块上面的“Automatic page generator”按钮:3d
第四步:在“New Project Site”页面,须要注意的是页面最下面的“tracking ID”。“tracking ID”的做用是使用Google的Analystics功能,该功能可以分析你的网站的访问量等网站数据,能够不填。若是须要使用该功能,能够参考连接https://support.google.com/analytics/answer/1032385?hl=en。而后点击“Continue to layout”按钮。版本控制
第五步,设置主题,就可以发布了:指针
这样,咱们就可以经过连接:http://username.github.io/hello-ghpages/访问咱们刚刚发布的页面了,其中username是你的github帐户的名字。根据博主的经验,第一次部署的话,等待的时间是比较长的,大概是十分钟到十五分钟左右。因此若是你立马访问刚刚发布的页面可能会出现404错误,不要着急慢慢等上十多分钟,会获得你想要的效果的:code
到这一步,咱们已经完成了github pages的部署,可是在这个时候咱们面临了两个问题,第一:最初生成的仓库只有两个文件,不存在定义咱们如今看到的github pages样式、内容的文件;第二,既然咱们没有定义这些文件,而咱们看到的这些文件有必须是真实存在的,这些文件放在了哪里?答案就涉及到咱们一开始提到的分支了。咱们在使用“Automatic page generator”功能的时候,github会自动在你项目的“master”分支下面新建一个“gh-pages”分支,而这个分支里面的代码定义了咱们刚刚看到的部署成功的github pages页面的内容和样式。
我想在这里是有必要简单介绍一下分支这个概念的。分支分红两种,一种是上面截图中看到的,这种叫作远程分支,另一种是咱们在使用Git进行版本控制的时候使用到的,叫作本地分支。在使用Git进行版本控制的时候,对于每一次提交,都会生成一个commit对象,这个commit对象包含了如下内容:
对于提交有了必定认识以后,分支就更好理解了,Git 中的分支,其实本质上仅仅是个指向 commit 对象的可变指针。结合实际,咱们来分析一下:在新建一个github仓库的时候,从上面的图咱们能够看到,github会自动建立一个提交叫作“Initial commit”,同时新建了一个master分支,这个master分支是指向“Initial commit”提交对应的commit对象;在部署github pages的时候,github新建了一个分支,而且产生了一次提交“Create gh-pages branch via Github”。你能够把上面的过程理解成下面几条命令:
1 git branch gh-pages //在master分支下面新建一个gh-pages分支 2 git checkout gh-pages //切换到新建的gh-pages分支 3 git rm -rf . //因为master分支和gh-pages分支里面的内容彻底不一样,因此首先清空了全部文件 4 //在清空的文件夹里面自定义新的文件,也就是上面截图中看到的gh-pages分支中的文件 5 git add . //跟踪本身定义的文件 6 git commit -m "Create gh-pages branch via Github" //提交本次修改
到目前为止,你就以为一个问题应该是如何将如今看到了github pages定义成我本身想看到的效果,这里就须要用到Git了。
第六步:Clone远程仓库到本地:
第七步:clone下来默认为master分支,因此咱们在文件夹里面看到的是master分支对应的内容。而咱们须要编辑的是gh-pages分支,由于这个分支才可以定义github pages的内容和样式。咱们须要执行下面的命令:
上面的命令的意思是说,在本地新建一个分支,本地分支的名字叫作“gh-pages”,这个新建出来的分支是在远程分支“origin/gh-pages”分支下面分化出来的,切换到新建出来的"gh-pages"分支,这个时候,咱们看到在文件夹"hello-ghpages"下面的文件时远程分支"gh-pages"的内容了:
第八步:删除里面的全部文件,固然最好不要直接删除,而是经过git命令,那样会更加方便快捷。
第九步:目前为止,这个文件夹是空的了,咱们在里面新建一个index.html文件,在里面定义一些内容,而且提交到当前分支。
第十步:提交到远程分支,查看效果:
第十一步:查看效果吧,哈哈:
到这里就大功告成了,嘿嘿。让咱们来回顾一下,在整个教程中,咱们须要掌握的主要是如何将远程分支分化到本地,而且自定义远程分支的内容。上面的index.html是github pages的主页,你能够在这个基础上慢慢扩充你须要显示的内容,一切都和教程中展现的同样。若是你有什么问题或意见,欢迎在下面的评论中提出。
最后,我仍是想讲一点题外话,若是以为本篇博客写的不错而且但愿转载到本身的博客,请注明转载地址:http://www.cnblogs.com/yuanzm/p/3945814.html,这是对博客做者最基本的尊重,谢谢。