Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.html
Git是一个开源的分布式版本控制系统,能够快速、高效地处理不一样规模的项目。git
廖雪峰的Git教程github
若是是在windows环境下,不建议安装和配置Cygwin这样的模拟环境,推荐使用msysgit。数据库
msysgit下载地址windows
安装成功以后,还须要作一些配置,设置用户名和邮箱地址:ruby
$ git config --global user.name USER_NAME $ git config --global user.email EMAIL_ADDRESS
Github是一个免费的远程仓库,用来进行代码托管。同时,仍是一个开源协做社区。由于只支持Git做为惟一的版本库格式进行托管,因此称为GitHub。markdown
Github官网主页ssh
打开Git Bash,在用户主目录下,使用git配置的邮箱地址建立SSH Key分布式
$ ssh-keygen -t rsa -C EMAIL_ADDRESS
在Key文本框里粘贴建立SSH Key时生成的id_rsa.pub文件的内容,点击【Add SSH key】工具
Github Pages提供了一个免费的网页,用来介绍托管在Github上的项目。
因为Github Pages提供免费(300M)、稳定的空间,因此很适合用来建立我的博客。虽然可使用html来编辑博客,可是显然这样作的工做量比较大,而且博客越复杂就越难维护。庆幸的是,能够经过模板引擎快速建立静态博客。鉴于Github Pages官网推荐了Jekyll模板引擎,下面就介绍如何使用Jekyll来建立博客。
Jekyll是一个静态站点生成工具,不须要数据库的支持,经过markdown编写静态文件,生成html页面,而且能够先在本地查看效果,满意以后再提交到Github上,最终在博客主页上看到结果。
因为Jekyll是基于Ruby开发的,因此,要想在本地构建一个Jekyll的测试环境,须要具备Ruby的开发和运行环境。下载与本地环境相符的Ruby和RubyDevKit。
很简单的Windows安装程序,再也不赘述。
Ruby开发包是一个压缩文件,解压并进入解压缩的目录,执行命令:
$ ruby dk.rb init
生成一个config.yml配置文件,记录了系统安装ruby的位置。
初始化成功以后,开始安装:
$ ruby dk.rb install
在安装以前,因为众所周知的缘由,须要修改一下安装源。
删除默认安装源:
$ gem sources --remove https://rubygems.org/
添加新的安装源:
$ gem sources -a http://gems.ruby-china.org/
确认安装源:
$ gem source -l
开始安装:
$ gem install jekyll
安装成功以后,建立本地博客站点,站点名与远程仓库名相同:
$ jekyll new Blogs
进入新建的Blogs目录,启动jekyll服务:
$ jekyll serve
Jekyll服务的默认端口是4000。服务成功启动后,访问http://localhost:4000就能够看到默认的站点主页。
在新建的Blogs目录下有以下的主要文件和文件夹:
为了可以更好的使用模板引擎,能够添加以下文件夹(可选):
打开Git Bash,进入工做目录Blogs,初始化本地仓库:
$ git init
建立一个没有父节点的分支gh-pages,并切换到这个分支上:
$ git checkout --orphan gh-pages
为远程仓库在本地添加一个origin引用:
$ git remote add origin https://github.com/username/Blogs.git
将远程仓库中的文件拖到本地:
$ git pull origin gh-pages
删除远程仓库中的文件:
$ git rm <filename>
在工做目录下的_posts文件夹中,建立并编辑文章,文件名必须是YYYY-MM-DD-title格式。
文章能够包含以下的头信息:
--- layout: post title: "使用Jekyll搭建免费的Github Pages我的博客" categories: jekyll update ---
其中,layout表示使用_layouts目录下的post布局文件。title表示文章的标题。categories是文章生成的html文件存放的目录,多级目录用空格分隔。
文章编辑完成并保存以后,刷新站点主页查看编辑以后的效果。
在通过本地检验,确认没有问题以后,就能够将本地建立的文章上传到远程仓库。
将当前的改动添加到暂存区:
$ git add .
将暂存区的内容提交到本地仓库,并添加本次提交的备注:
$ git commit -m "post blogs"
将本地仓库的内容推送到远程仓库的gh-pages分支:
$ git push origin gh-pages
这样,再次访问博客主页http://username.github.io/Blogs,就会看到新生成的内容了。