Github WTF: Learn Some Github with Me Next Tues.

Github...wtf!!!!

In which the lady invites you to participate in a Github workshop on Tuesday, May 24th, 9:00a.m. PDT….world times here

My first month of working at Mozilla has slipped past without a sound on my blog.  That’s because I’ve been making lots of noise over in my github space. One of the software skills no one will ever, EVER tell you to learn but a skill everyone in software should know is how to use distributed version control like a Boss.  This post is an invitation to an online Github workshop I’m hosting next week and contains a few resources for those who can’t make it but would like to learn more.

I’m not a stranger to version control, but it’s always been something I approached timidly and with great care.  Since my first task is re-writing a bunch of selenium checks for addons.mozilla.com, I had to come up to speed pretty quickly on Github.  I’d been checking in bits of my own code prior to starting, but I had only ever worked with branches when I was pulling down code on subversion. Let’s just say I had to get it together pretty quickly.

Github is fabulous once you understand the bulk of it.  It handles code reviews, has diffs and provides great visibility.  Github makes it possible to collaborate with my co-worker, David Burns, who writes The Automated Tester blog and is based in England.  If you poke around in my github you’ll see comments both of us have made in the repository for Addon Tests.

Now that I know how painful it can be to spin up on Github, I’d like to spare others some of this pain.  To this end, I’ll be running a Github workshop during Mozilla WebQA Automation Test Day.  The test day is next Tuesday at 9:00a.m. PDT (World Meeting Times Here).  This will be my first Mozilla Test Day, so I’ll be learning what it’s about along with everyone else who shows up for the first time.

About the test day:
From what I understand, it’s an opportunity to collaborate with the team at Mozilla on some testing or, in this case, writing some selenium tests.  You’ll need a little, but not tons of programming experience.  All levels of experience at writing selenium tests are welcome.  Please read David’s post about it here.

The IRC channel if you want to go straight into writing selenium tests is irc.mozilla.org #testday

 

About the workshop:
I’m expecting to spend from 1 to 2 hours on this.  It starts at 9:00am-ish on the West Coast of the U.S. If you are in a different time zone, check this link. Everyone will work at their own pace so it should be very low stress.  Prior to the workshop, I’ll put together an example project we can use for getting used to the whole distributed aspect of Github.

If you would like start before the workshop, check out the github instructions for installing and setting up git.  I found them to be quite helpful for setting up on both mac and win7.

The IRC channel for the workshop will be irc.mozilla.org #expectpants

If I can get it sorted, I’ll post a transcript here after we’ve done the workshop.

Some Resources:

As I’ve been learning how to use github, I’ve been adding to my github cheat sheet.  Making your own cheat sheet seems to be a “rite of passage” for github users and there is no shortage of these.  I invite you to use mine, fork it or otherwise steal from it to write your own.

It’s very easy to work yourself into a corner in git.  When this has happened, I’ve turned to the Pro Git book. It’s available in the ever-awesome Safari Online (these people brought back html view for me, I <3 them).  I also got our manager to purchase a copy for our group.  I’m relying on it less these days, but find that when I need it, I really frakking need it.

Besides these 2 places, I search on Stack Overflow.

 

If I can’t find answers in these places, I’m down to getting creative.  Luckily, this hasn’t yet failed me.  I am by no means an expert at Git and Github, but I’m ok with them.  Let’s practice together :)

6 thoughts on “Github WTF: Learn Some Github with Me Next Tues.”

  1. Ben mentions some great resources that are well worth investigating.

    Regarding “reinventing the wheel.” My intention with this post and the workshop is only to help others muddle through the first steps of using git and Github as I have. For me, learning to use both has certainly felt like “reinventing the wheel.” Learning DVCS has not been fun or easy, but is well worth doing. It is a great departure from any managment of code I’ve had to do before.

    It is also worth mentioning that Ben is the mastermind behind the Processing language. It’s the first book I ever read on Data Visualization and I would go so far as to say that this book changed my life.

    One of the best aspects of blogging is that I never know who will show up or when that will happen. Although Ben’s comments highlight some of the shortcomings of my post, and are, thus, a bit short, they’ve made my day.


  2. Ben Fry:

    Stop trying to re-invent the wheel. http://help.github.com/ is a great resource and http://progit.org/ has the full text of the Pro Git book online for free.

    Sorry I couldn’t help biting back on this post :) I agree that there are many … many (did I mention … many) good git resources on the web. The links you posted are ones that I routinely refer to when I’m gtd. That said each organization and even team within an organization uses git’s magical & mysterious qualities differently to suit their needs and goals. Mozilla is perhaps more colorful in its abundance of different sub-communities making navigating the nuances even more precarious.

    The cheat sheet that Marlena compiled is a great example of this. The culture of the particular project that was taking part in the test day has shaped itself in a particular way. The cheat sheet is actually quite useful for newbs and git-xperts alike.

Leave a Reply

Your email address will not be published. Required fields are marked *