In my last post, The frustrations of VoiceOver, I alluded to “actively using Git/ Github in my workflow to my advantage” in the process of building a WordPress theme, bA53. And I’m still on it. But I’d very much like to flesh out a few idea’s concerning how I use Git towards my web development efforts.
What is Git? While one couldn’t be blamed for thinking I’m referring to the British noun “git” — and no, I’ve never heard of it either prior to tripping over it on Google — which apparently means an “unpleasant or contemptible person,” I’m not.
Rather Git, I’m speaking about the software now, “is a distributed revision control and source code management (SCM) system with an emphasis on speed.” I’ve mentioned my use of Git previously, as far back as my first post on this blog, in fact.
But I’ll save you from the pain of having me actually explain something I (still) barely understand, so I’ll simply recommend watching these 4 video’s that do a far better job of explaining Git than I could ever do. And it’s done.
Getting back to my previous comment, Git and it’s related means of access, being Terminal on the Mac and the command line more broadly, require a fair amount of understanding and getting used to. Git, for me, had a pretty steep learning curve. It’s means of entry and it’s continued (read: productive) use are frustratingly hard to overcome.
I’ve been on and off (mostly off) with the idea of using Git, and by extension Github, in my workflow for well over two years. I’m still adjusting to this method of computing. And it is getting better. But it’s oddly not a matter of getting used to the process the more I use it, rather my comfort using Git stems entirely from a program I’ve been using for a few months called SourceTree.
Writing better code
SourceTree allows me to do something integral to the process of ensuring code quality. It allows me to see and understand precisely what I write. I’ll even go so far as to say, though I can’t imagine the differences are “night and day,” but I’m a much better coder.
The reason I say that is simply for the fact that this process provides you an opportunity to look (and actually see, which makes all the difference in the world) your code in more than just your head. It literally makes you ask yourself if this effort is worth “committing” to the record.
I’ve caught countless mistakes — and unfortunately not every mistake, a few typos have squeaked through — and actually discarded large chunks of code that I decided were a bad idea on second thought. I’m aware of how odd this sounds, cos you’re still looking at the exact same lines of code, but you are looking on it in a different context. Having your code reviewed is so very important — even if it’s you looking on it one last time.
A ringing endorsement?
Though I’ve yet to encounter any significant issues myself, not to suggest there aren’t any, there always are, but I’m not exactly what you’d call a Git power user. I’m not comfortable weighing in either way. But one thing it has given me is a renewed interest and what is more than likely an unearned sense of confidence to return to working in Terminal. Case in point.