Elite Git

For the people who thought that the Advanced course was a piece of cake, this course fills the role of uncovering the final secrets of Git. It is aimed for people in the role of implementing workflows inside an organization; people who write scripts and set up the environments for others.

Git is very rewarding in the sense that it is an open system. You crack open the hood and look, and there is a set of consistent protocols, data structures, and models ripe for using. Truly mastering Git means getting on top of these. This course equips you to wield Git not just as other people intend, but as you yourself want. 

You will come out with a solid understanding of the internals of Git. 

Audience:

This course is aimed for people in the role of implementing workflows inside an organization; people who write scripts and set up the environments for others. 

Prerequisites:

This course is challenging, in the sense that we expect those who take it to have not just the equivalent of Advanced-course level knowledge, but also to have a drive to delve further and to learn about the innards of Git. The Advanced course is for those who want to *use* Git tools; this course is for those who want to *create* Git tools. 

Course outline:

Some things that are covered in the course:

  • Git high-level structure: porcelain, plumbing, extension points
  • The structure of a repository
  • Packfiles and the packfile format
  • The wire protocol
  • How a clone works, step by step
  • How the index works
  • Internals of a merge
  • Internals of a rebase
  • Reflogs
  • Reachability analysis
  • Atomic ref updates
  • rev-list and rev-parse
  • A deep look at hooks
  • Making your own Git command
  • Alternative Git implementations

Other relevant courses

19. February
4 days
Classroom
27. February
3 days
Classroom
6. March
3 days
Classroom