如何用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 ...
随机推荐
- DirectX Graphics Infrastructure (DXGI) 全屏设置相关问题
原文地址: https://msdn.microsoft.com/en-us/library/windows/desktop/ee417025(v=vs.85).aspx 未完待续... DXGI是在 ...
- 使用shiro标签遇到的部分问题的解决思路
最近几天,在shiro进行系统权限控制.在处理JSP页面的时候,遇到几个问题,纠结好几天,终于成功解决这些问题. 1.使用<shiro:principal>的时候,如何得到整个类的信息? ...
- golang 阻塞的坑
1.写go程序的时候一定要牢记主线程不能阻塞,一旦阻塞就崩溃,就怕那种某种情况下偶尔会出现几下阻塞的,一定要杜绝.2.select case的执行顺序是乱的,不确定的3.写入管道的时候,一定要保证管道 ...
- oracle数据泵之解决方案(用户)导入导出。
看到网上有这样的介绍而且很多,但觉得都是大神才能一下子看的懂.自己总结下菜鸟能看懂的. 1.导出. 首先第一步: 操作系统—开始—运行输入“cmd”进入dos界面输入“sqlplus/nolog”按回 ...
- HttpClient支持使用代理服务器以及身份认证
HttpClient Authentication Doument: http://hc.apache.org/httpclient-3.x/authentication.html HttpClien ...
- Android Studio下运行UiAutomator
之前学习UiAutomator均是在eclipse下,因学习Android开发接触AS越来越频繁,于是想知道AS下如何建立UiAutomator项目.网上的资料多很凌乱,查了很多资料,实践后发现,只要 ...
- oldboy第四天学习
一.感觉上课没有太多的知识.也可以去理解.但是作业太难了... 二.hash() #python里面的哈希类型是在一个程序中不变,如果换了python 哈希是不#一样的. #字典为什么快,因为他把字典 ...
- memcpy造成其他变量值改变
以前C/C++遇到过很多很多的问题,有时候费了很久很久时间,很大很大的努力才解决.但是都没有记录下来,现在想想以前的遇到的问题,只知道这样的事情发生过,至于是什么问题,一点印象都没有了.所以遇 ...
- Recommending music on Spotify with deep learning 采用深度学习算法为Spotify做基于内容的音乐推荐
本文参考http://blog.csdn.net/zdy0_2004/article/details/43896015译文以及原文file:///F:/%E6%9C%BA%E5%99%A8%E5%AD ...
- AD 删除一个区域里的所有布线,不删除元器件,丝印等
想删除一个区域里的所有布线,不删除元器件,丝印等 按F12后输入以下组合:isvia or(istrack and OnTopLayer) or (istrack and OnBottomLayer) ...