One of my earlier memories of creating things on a computer was the Kid Pix application that my dad purchased sometime in the early 90's. Prior to that most of my time on the computer was spent playing games and just sort of putzing around. With Kid Pix though I was quickly breaking into the age of digital publishing. One of the features that this 15+ year old application had that provided my creative process (a.k.a. holding down the mouse button while dragging the stamp tool around the screen in circles) was the concept of undo. Didn't like the placement of that stamp? Or maybe the line you just drew was a little to far to the right and you wanted to try again. No problem. Command - Z and you're right back to where you started before that simple mistake.
In college I took a painting class, and while fun, I was never really all that good at painting. I have these vivid memories though of sitting in the studio working on what I hoped would be a stunning homage to Lichtenstein and it just wasn't going as well as one would hope. I would lay some paint down on the canvas, step back, look at it, and in my head I would hit Command - Z. And of course nothing would happen, instead I was forced to paint over that same spot, over and over and over, until I got it just right. In the end it worked, but it was an interesting experience to have done something in the physical world and had my brain immediately reach for the undo key sequence.
I'm willing to bet that most of us have done this or something similar at some point.
Git: the magical undo tool
That's where Git comes in. Git is a distributed version control system (DVCS) for source code management (SCM). It's like a giant undo button for everything you've ever done on a project throughout it's entire existence. And that's just the icing on the cake. Git also provides some powerful tools for collaborating with your team, browsing a project's entire history, deploying code, and so much more. Oh, and did I mention it's fast? Like whoa fast!
Git is the version control system used for Drupal core and contributed module development and as such is used by most people building sites with Drupal to keep track of their client work as well. It's also the system used to track development of the Linux kernel, Ruby on Rails, Android, and many, many other projects.
The Introduction to Git Series
This week we're kicking off a series, Introduction to Git, that Blake Hall and I recorded, which will teach you to use this great tool. It's an in-depth series that starts with the basics of version control, establishes some terminology, and a base line workflow, then continues to build on that by going beyond the basics of the various Git commands to make the most out of your tools.
This series starts out with the basics and quickly dives into the powerful tools that Git provides. Just a few of the many things you'll learn about are:
- The basic concepts and terminology of version control
- Installing and configuring Git
- Creating and using branches and tags
- Navigating the history of a project and reviewing changes
- How to work with conflicts and corrections
- Using Git with remote repositories and sharing changes with your team
- And some tips and tricks for using Git with both Drupal.org and GitHub.com
First lessons out the door!
The first lessons in the series, published today, will get you started with a background on version control, getting Git installed and set up, and how to find more help:
- Introduction to Git (FREE)
- What is Version Control?
- Installing and Configuring Git (FREE)
- Getting Help with Git
Git is a command line application and we'll be interacting with it through the Terminal for most of these lessons so if you're not familiar with using the command line or basic use of the vi editor I suggest you brush up on those things first as they'll come in handy while learning Git. Although there are a plethora of GUI tools that can be used in conjunction with Git, we felt it best to learn the underlying, consistently standard application first, so that you can easily translate that to the GUI of your choice down the road, if that's what floats your boat.
We will be releasing this series over the next month, so look for new Git videos every Wednesday throughout March and in to April.
Comments
This is great, and is one of our weakpoints. Looking forward to the new videos on the dev cycle.
Thanks for this series! There is a sore lack of resources for a definitive way to use Git and Drupal to facilitate dev - staging - live workflow.
Add new comment