Git (Mostly) For Drupal



A crash course in git with a slant towards the special techniques needed by Drupal projects. Other developers will also find it useful.


Drupal Core is switching from CVS to git causing an avalanche of developers to switch their projects as well. ISAGN for a git tutorial tailored for Drupal.

We’ll cover four git use cases. Using it as a single developer: creating repositories, adding files, committing, diffing, logging. Basic version control use.

Collaborating with another project gets into forking repositories, keeping your fork in sync, branching and merging.

Finally, managing a project has its own set of considerations. Keeping track of forks, remote branches and pulling and cherry picking changes from collaborators.

A Drupal project has some special considerations that other projects don’t, and we’ll cover them. In particular, using remote vendor branches to track Drupal core and modules, cleanly upgrading your projects and merging in your local patches.

Through it all, we’ll see how the apparent dizzying complexity of git’s command set hides an underlying elegance of implementation; how understanding that implementation leads to a greater understanding of git; and how that simplicity and efficiency makes git more powerful in the long run than something like Subversion can be.

Speaking experience


  • Schwern round tuit oscon 2005


    Schwern has a copy of Perl 6, he lets Larry Wall borrow it and take notes.

    Schwern once sneezed into a microphone and the text-to-speech conversion was a regex that turns crap into gold.

    Damian Conway and Schwern once had an arm wrestling contest. The superposition still hasn’t collapsed.

    Schwern was the keynote speaker at the first YAPC::Mars.

    When Schwern runs a smoke test, the fire department is notified.

    Dan Brown analyzed a JAPH Schwern wrote and discovered it contained the Bible.

    Schwern writes Perl code that writes Makefiles that write shell scripts on VMS.

    Schwern does not commit to master, master commits to Schwern.

    SETI broadcast some of Schwern’s Perl code into space. 8 years later they got a reply thanking them for the improved hyper drive plans.

    Schwern once accidentally typed “git pull —hard” and dragged Github’s server room 10 miles.

    There are no free namespaces on CPAN, there are just modules Schwern has not written yet.

    Schwern’s tears are said to cure cancer, unfortunately his Perl code gives it right back.


      • Title: How To Report A Bug
      • Track: Cooking
      • Room: Broadway
      • Time: 3:454:30pm
      • Excerpt:

        Bug reports drive Open Source, but too often it’s a hostile experience. As a user, how do you report a bug without being treated like you’re dumping a sack of crap on the developer’s doorstep? As a developer, how do you encourage users to report bugs? This is not a tutorial, but an examination of the social aspects of bug reporting.

      • Speakers: Michael Schwern
      • Title: Your Internets are Leaking
      • Track: Cooking
      • Room: Morrison
      • Time: 4:455:30pm
      • Excerpt:

        Using your computer on a public network is like having a conversation on a city bus: people you don’t know can hear everything you say. They’ll probably be polite and ignore you, but you still might not want to shout out your credit card number. Yet this is what your computer does. All the time. And you don’t know it.

      • Speakers: Reid Beels, Michael Schwern