Git with The Program: Introduction to basic concepts in git

Note: this is an archived site. The current site can be found at

Aside from being the version control system that powers Drupal development, Git is the VCS of choice for most modern software development, at least on the web -- as well as a must-have skill for any Drupal developer seeing a job. (Lack of experience with Git is my number one frustration with developers I work with.)

But because of its distributed nature (i.e., every copy of the repository is complete unto itself and doesn't necessarily need an authoritative central system), Git presents conceptual challenges not only to beginners but to developers experienced with older forms of version control -- RCS, CVS, SVN, etc.

In this session, we'll look at the basic concepts behind Git, including:

  • Why I need version control even if I work alone in my closet and never see anyone else.
  • Who's in charge here?!: Understanding Distributed VCS
  • All hail the SHA
  • My repository, remote repositories
  • Pushing and Pulling
  • What is GitHub? Is it the same as Git?

Finally we'll look at the vary basic tasks of cloning or initializing a repository and committing to it, then pushing your changes back to a server.

Code and Development
One hour


Thanks. Very useful presentation for me. Graphical representation of the GIT branching process helped me understand it better. Could you supply a link to your presentations slides here?