Git is a distributed reversion control system. GitHub is a google code like system which can host your code and enable collaborative development. A lot of popular open source projects are hosted on GitHub, such as Bootstrap/Redis/jQuery.

1.Install Git and connect it with your GitHub account

Register an account on GitHub, download msysgit for windows. After a long time configuration, open the Git Bash and input:

Change current repository (already in GitHub) locally and update to remote:

git command
git commit -m "content"
git push origin master

Other common commands:

add Add file contents to the index
clone Clone a repository into a new directory
commit Record changes to the repository
init Create an empty git repository or reinitialize an existing one
mv Move or rename a file, a directory, or a symlink
pull Fetch from and merge with another repository or a local branch
push Update remote refs along with associated objects
rm Remove files from the working tree and from the index
status Show the working tree status

3.Delete history commit

In your repo, suppose you want to delete a commit, find a commit later than this commit say a6901b3feq.

git rebase -i a6901b3feq

An editor will pop up and show a list of commits after this commit. Simply delete the commit you want and save
the document.

jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites.

1.Install ruby and jekyll on windows machine

Download and install RubyInstaller for Window. Select "Add Ruby executables to your PATH" to add ruby to your system environmental variable when you installs the program. After the installation, input
ruby --version in cmd to check whether ruby works.

jekyll-bootstrap is a full blog scaffold for jekyll based blogs. Log into your GitHub account, create a new repository with project name: "accountname.github.com".
Please note this repository must have the same name as your account.

I use disqus. You can register a disqus account and set the shortname related to your account in the _config.yml file:

comments :
provider : disqus
disqus :
short_name : XXXXX

3.New domain

First, you need to buy your domain. I buy a domain "itgeekworkhard.com" from Godaddy. Second, you need to create a new file CNAME with content itgeekworkhard.com in the project root folder. Note the file does not have any suffix. Third, in Godaddy, set domain pointing to IP 192.30.252.153. Then, set the value of production_url in _config.yml to your domain.

4.Figure

Define the variable img_url: /assets/images in file _config.yml, and use ![]({{ site.img_url }}/picture.jpg) to insert figures.

5.Blog Analytics

I use google analytics. You can register a google analytics account and set the tracking_id related to your account in the _config.yml file:

analytics :
provider : google
google :
tracking_id : XXXXX

6.Pagination

set paginate: number in the _config.yml file. Number is the number of posts per page. Note there is NO indentation before paginate. For more information, you can check jekyll paginate.