Git is a version control system. It is a professional skill for researchers as well as hackers, and an amazing way to manage our projects. I write this article to share how I was learning git, and gradually master it, both in its concept and hands-on usage.

You can see it as a course, and our goal is to master git in 7 weekends, i.e. use your spare time in each week to play with git. Of course, it you want a rush, you can compress this into one week, and hopefully you can also master it.

In this curriculum, we use two popular materials: one is the book Pro Git, which introduces Git as a whole, to help you understand the concept, many useful operations, as well as some useful patterns in development; the other is Git Immersion, a guided tour that walks you through the fundamentals of git, featuring with many good libs.

  • Materials

    • Book: Pro Git

      Tips: if you are in a rush, you can read the version with your mother language. Otherwise you are recommended to read the English version.
    • Labs: Git Immersion

      Really good labs. Good hands-on exercise.
  • Requirements

    • Default: required

    • Optional X: optional, medium priority

    • OptionalXX: optional, low priority

Week 1

  • Preparation

    • Install Git on your computer.

    • Get the book and the labs.

  • Reading

    • Read the tutorial chapter 1 – 2.2.

    • Write a short paragraph explaining your understanding about the three stages of git.

  • Labs: 1 – 9

Week 2

  • Reading

    • Read the tutorial chapter 2.2 – 2.8.
  • Labs: 10 – 23

Week 3

  • Reading

    • Read the tutorial chapter 3.
  • Labs: 24 – 35

Week 4

  • Reading

    • Read the tutorial chapter 4.1, 4.10.
  • GitHub Practice

    • Create an account on GitHub.

    • Initial a repository on GitHub

    • Clone a repo you like from GitHub.

  • Bitbucket Practice

    • Create an account on Bitbucket. Bitbucket has unlimited private repositories, and unlimited number of collaborators if you register using a .edu email address! (if not, please contact them)

    • Initial a private repository on Bitbucket.

  • Labs: 36 – 44

Week 5

  • Reading

    • Read the tutorial chapter 5.
  • Labs: 45 – 53 (Finished!)

  • Github Pages Practice:

    • Refer to Github Pages.

    • Create your personal website on Github Pages.

    • If you want, you can purchase a domain name (from GoDaddy or somewhere else).

    • You need a DNS service to connect your domain name with GitHub servers. Use DNSPod or anything you like.

    • HERE is a detailed Chinese documentation in this process.

Week 6

  • Reading

    • Read the tutorial chapter 6.1, 6.3, 6.4.

    • Know what 6.2, 6.5, 6.6 is talking about.

    • Optional X: chapter 6.2.

  • Labs: Review the former labs.

Week 7

  • Reading

    • Read the tutorial chapter 7.1

    • Optional X: chapter 8 (if you have used SVN, recommended to read).

    • OptionalXX: chapter 9 (if you are interested in the magic inside git)

Update: I haven’t actually designed an exam for this, so our formally 8-week goal has become a 7-week one… Sorry for my laziness.

Published: 22 October 2012


blog comments powered by Disqus