I did a brief talk on Git at SyPy recently. I had a great time learning about the differences between Git, Bazaar, Mercurial, and even some other tools like BitKeeper that got mentioned and were before my time. Both my co-presenter, Alistair (who I sadly have no personal web address for!), and Martin Pool had some really interesting things to say about DSCM tools and Bazaar in particular.
So anyway, my talk was pretty dense and unfortunately I had major issues with Keynote (WTF happened to presenter notes?!) while giving the presentation. I don’t feel like I did as well as I could have. That, and I’ve learned the lesson of practice, practice, practice before doing a live demo. Ugh.
That said, I did actually prepare a bunch of slides so I figured I’d share them with everyone here. The slides are available as a downloadable PDF with my presenter notes, or a ZIP archive of the Keynote file, if you’ve got that installed on your Mac.
I got some fantastic feedback from the great folks at the SyPy meeting. One particular piece of advice I thought was exceptionally poignant was that in the context of a “which tool to use” presentation, my presentation is very technical—probably too technical. Instead, I should have said more about the different ways and applications I used Git with or for.
I could have talked about how I use git as a core tool in the change management process for server configurations. Since git’s big selling point is scalability, this process also turns out to be really useful for larger server deployments. When (appropriately privileged) coworkers need configuration changes to a particular machine, they can actually send me a pull request and I can review their configuration change. I also could have talked about the various different binary file types I often store in git repositories, such as image, Flash, and other video assets for web development purposes. Git handles binaries exceptionally well!
None of these things made it into the presentation slides, so I tweaked the title to reflect the more fundamental technical thrust of its contents. Perhaps this means another git talk is in the works. Or maybe a sequel to this one called Git Fundamentals in 45 Minutes or Less. In any event, if you have any feedback or suggestions, constructive comments are always appreciated. :)