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,就會看到新生成的內容了。