Introduction to Git: Basic Concepts

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

If you are serious about web development of any kind and you don't know the git version control system, you have a big hole in your skill-set that will keep you from getting jobs, working effectively in teams, or developing efficiently on your own.

It's time to git with the program.

Aside from being the version control system that powers Drupal development, Git is the VCS of choice for most modern web 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. The major commands will be covered, but there won't be a ton of command-line demos; for that, see the intermediate session. Instead, this session will convey the essential information you need to know before you even think of opening up a terminal window, 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