如何用Github的gh-pages分支展示自己的项目
很多新同学觉得github不就是一个代码托管所吗,如何能展示项目呢?其实完全可以借助Github的gh-pages打造出自己的一个作品集,无论是对自己的提升整合还是日后的面试都大有裨益。
前置准备
Github创建项目仓库后随即只产生一个master分支,只需要再添加gh-pages分支就可以创建静态页面了。这利用了项目站点(即Project Pages)的方式。还有一种创建站点的方式叫做User/Organization Pages。下面介绍前者。
首先,创建一个名为 Github用户名.github.io 的仓库。

接着大家可以在这仓库里放一些静态页面,在外网访问: MuYunyun.github.io(拿我举例),就能访问到里面的静态资源了,由于博主已经把MuYunyun.github.io 绑定了 http://muyunyun.cn 域名,所以你实际上会访问到的是muyunyun.cn。
如果你想知道楼主如何基于github搭建自己的博客,可以看我的另外一篇文章。这次讲的重点主要是gh-pages,接着继续。
案例1
那可能有朋友会不解,既然楼主你说的 Github用户名.github.io 已经能展示页面了,那gh-pages是什么作用呢?
答:大家不会只有一个项目要展示的吧,万一你和楼主一样把 Github用户名.github.io 作为博客了,那不就没地方展示项目了吗?所以就有了gh-pages这个东东。
理解了这点,接着举个例子。

如上图所示,通过git-add -A、git -commit -m "..." 命令把完成的项目上传到github上以后,默认的是处于master分支,你可以进该案例地址看看项目结构。接着我们要做的是展现dist目录下的静态文件,那最关键的语句来了
git subtree push --prefix=dist origin gh-pages
意思就是把指定的dist文件提交到gh-pages分支上,

那这时候,我们看到已经多出了一个gh-pages分支,那么展示地址就是 Github用户名.github.io/创建的仓库名 拿我的这个案例来讲,它的展示地址就是 MuYunyun.github.io/gallery-by-react/ ,当然你看到的会是muyunyun.cn/gallery-by-react/。
案例2
那么上面这个例子展示的项目文件中的某个文件,那么如果我想把项目里的所有文件都展示那该如何做呢?上个最简单的案例

和上面那个案例一样,通过git add -A 以及 git commit -m "..." 把项目上传到github以后,目录结构如上图,我想让所有的界面包括js,css都展现出来,那该怎么做,其实只比上面那个例子多上一句git底层命令: git symbolic-ref
完整的步骤我上一遍:
text git:(master) git symbolic-ref HEAD refs/heads/gh-pages
git add -A
git commit -m "..."
git push origin gh-pages

那现在就已经多出来gh-pages分支了,也就是说我们可以展示自己项目了(*^__^*),那展示地址还是和上面那个案例一样的写法 Github用户名.github.io/创建的仓库名,拿我的这个案例来讲,它的展示地址就是 MuYunyun.github.io/text/ ,当然你看到的会是muyunyun.cn/text/。
写在后面
大体就是这样一个步骤了,希望对大家有所帮助,快去github展示自己的项目吧。mark~mark~
如何用Github的gh-pages分支展示自己的项目的更多相关文章
- 利用Github Pages生成一个快速访问的网址,展示自己的项目
利用Github Pages展示自己的项目 写了个小项目,想要分享出去,一直在用Github管理项目,了解到Github还有Github Pages功能,然后惊喜的发现Github pages可以搭建 ...
- Github 与Git pages
基础git命令 设置username,email $ git config --global user.name "your name" $ git config --global ...
- GitHub学习心得之 分支操作
目录 前言 1. 一般的push和pull 2. 分支操作 前言 本文对Github的分支操作进行了总结, 主要基于以下文章: http://blog.csdn.net/guang11cheng/ar ...
- 通过git在github上建立gh-pages分支并查看网页效果
建立gh-pages分支: 进入到你想要上传的文件夹下: cd text(text为文件夹名) git初始化 git init 创 ...
- 在github上创建新分支
在github上创建仓库: Create a new repository on the command line touch README.md git init git add README.md ...
- GitHub上最受欢迎的Android开源项目TOP20
以下这些开源项目都是从GitHub上筛选的,我强烈推荐android程序源代码有时间的时候自己在上面淘淘,或许能发现自己须要的开源程序. 了解开源项目有两个优点: 1.借鉴代码,一般来说.火爆的开源项 ...
- GitHub上最受欢迎的iOS开源项目TOP20
AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是GitH ...
- Git 使用篇一:初步使用GitHub,下载安装git,并上传项目
首先在MAC上怎么操作. 在gitHub创立一个账户,在创立一个项目,这就不用我说了对吧. 创建完之后是这样的: 接下来,我们打开https://brew.sh 这是下载homebrew的网站,hom ...
- 强烈推荐 GitHub 上值得前端学习的开源实战项目
强烈推荐 GitHub 上值得前端学习的开源实战项目. Vue.js vue-element-admin 是一个后台前端解决方案,它基于和 element-ui 实现 基于 iView 的 Vue 2 ...
随机推荐
- Using Notepad++ to Execute Oracle SQL
原文链接:http://www.toadworld.com/products/toad-for-oracle/b/weblog/archive/2013/08/21/using-notepad-to- ...
- android JNI (二) 第一个 android工程
下载NDK 后 它自带有 sample,初学者 可以导入Eclipse 运行 这里 我是自己创建的一个新工程 第一步: 新建一个Android工程 jni_test(名字自取) 第二步:为工程添加 本 ...
- jsp之间url传值出现中文乱码
示例: T1.jsp http://localhost:8080/test/Test.action?site=北京 T2.jsp ..... <%@ page language="ja ...
- Oracle数据库之创建表结构
Oracle数据库之创建表结构 主键与外键 主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(可以是一个属性,也可以是多个)能唯一标识一条记录,那么该属性组就是主键. 外键:关系型数 ...
- js本地存储解决方案(localStorage与userData)
WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...
- 单列模式 (singleton pattern)
单列就是说一个类只能被实例化一次,重点是确保某个对象只有一个,不会有第2个. c# 的实现是这样的 代码来源 : http://www.cnblogs.com/zhili/p/3185302.html ...
- cf B. Fox Dividing Cheese
http://codeforces.com/contest/371/problem/B #include <cstdio> #include <iostream> #inclu ...
- 设置tableWidget->verticalScrollBar()的属性
tableWidget->verticalScrollBar()->setStyleSheet("QScrollBar{background:rgb(255,255,0); wi ...
- 为何某些公司不允许使用C++ STL?
说几个STL的缺点吧,虽然都是在比较极端的情况下出现,但是对于一些大项目还是会遇到的 1. 代码膨胀问题每一个实例化过的模板类,都会膨胀出一份独立的代码,比如std::vector<std::s ...
- USENIX 最佳论文奖:擦除 Windows Azure 存储编码
我们发表了一篇介绍Windows Azure 存储如何用编码方式擦除数据的论文,此论文在 2012 年 6 月的 USENIX 技术年会上荣获最佳论文奖.这是 MicrosoftResearch ...