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.
Optional X: optional, medium priority
OptionalXX: optional, low priority
Install Git on your computer.
Get the book and the labs.
Read the tutorial chapter 1 – 2.2.
Write a short paragraph explaining your understanding about the three stages of git.
Labs: 1 – 9
Labs: 10 – 23
Labs: 24 – 35
Create an account on GitHub.
Initial a repository on GitHub
Clone a repo you like from GitHub.
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
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.
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.
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.