Skip to main content

Uncharacteristic Rant: Git

Recently we made the change from SVN to Git for source control in my software development team. We've all been using SVN for years and, while not without its own serious flaws, it works. Managing the archive and access to it is simple, and people can easily check out and contribute with a minimum or effort and training. Yes, they can screw things up, but that's what source control is for...to cover your ass when you've left it hanging out in the wind.

While SVN does require you to pay for the Visual add-in for Visual Studio, that's not so bad. I can see which files I've changed within my dev environment at a glance. Git does not have this feature, but it's not a deal breaker. I can live without this nicety.

Now we have Git in place and holy christ if it isn't the most convoluted and arcane piece of ... software I've ever had the misfortune of using. As someone who grew up with DOS and UNIX command line operating systems, that's saying something.

So I want to check something out from the repository. That's pretty straightforward. I can clone it. Wait "clone"? Yup that's right, not check-out. Now each of my check-ins, er I mean commits is actually local. Strange, but alright...so how do I get my number commits back to the actual server? Now things get tricky.

Different terminology and work flow. That'll take some getting used to, but it's not insurmountable. Or so I think, while trying for the fifth time to get my changes merged into my local test branch, and finally up to the live test spot.

"Rebase, fetch, merge, push, pull, fuck you developer guy!" says Git to me. "You will dance to my tune or ELSE all your hard work will be destroyed. Safe history is all an illusion! Your code will commit, if you've put your dash in the right place. No simple context menus for you! Mwahaha!"  So I bow down to the evil overlord who holds sway over my work's safety. I do as he asks and successfully complete the mystical ritual. My code is safe, right? Sure, if no one else has gone in and caused some kind of cluster-fuck with the repo while you were working on your own stuff.

Am I saying Git is a bad thing top to bottom? No I'm not. It's a powerful tool with lots of good features. The main complaint I have is that it takes a concept that is relatively simple at its core and complicates it to the nth degree without giving me, the developer, any real benefits. Managing my code has become a morass of command line incantations, rather than the few clicks and simple visual feedback that it used to be.

Maybe I'm just getting old and can't grasp the 'simple elegance' that is Git. But I doubt it. I've designed user interfaces for dozens of complicated systems, and the implementation, documentation and user friendliness of Git could sure use a few metric tons of improvement. Just because it's made for developers doesn't mean I should have to use a text console and enter lines of nonsense to do my work and commit my code.

A task that should be so simple, shouldn't be so damned difficult to accomplish.

I'm stuck with it now, but every time I have to use it I'll be silently thinking in the back of my mind..."Fuck you Git," praying it doesn't hear me and will actually do what I want.

Please bow your heads and join me in a prayer for the safety of my code.

Comments

GIT is a good name though :)
Obsidian3D said…
Haha fair point.

Popular posts from this blog

Farewell Ozzy!

This afternoon I found out that the Prince of Darkness, Ozzy Osbourne, has passed away. Although I've been a fan since my early teens, I am surprised at how strong my reaction to the news has been. I had missed out on catching the Black Sabbath farewell show a few weeks back during live stream, so I've not yet seen it. A friend of mine told me about a few days after, and I'm looking forward to watching it when it becomes available. I've had the good fortune of seeing Ozzy perform twice; once at an outdoor stadium show with Zakk Wylde on guitar, and once with Black Sabbath several years later. I remember more about the experience of those shows than the specific details, and could not tell you set lists or anything like that. His impact on music and pop culture, both as a member of Black Sabbath and a solo artist simply cannot be understated. As impactful and important as that is, it also hits me that his children have lost their father, which happened to me at the end o...

Errata Discussion

Here's my first-ever joint article! Thanks to Scott Mooney for providing counter-point to my ramblings. Following the release of Marvel Universe and Marvel Evolution there has been a lot of discussion among our player group (and online) about the powers of certain cards, both in terms of sheer power and in terms of wording. I'm sure most of you are familiar with the debate brought on by the 3-cost, Exiles-affiliated Blink. We'll not be discussing that particular card today, but rather some other combinations you may or may not have thought of. Scott has built a very deadly Starjammers/X-Factor/X-Men deck that takes advantage of discard effects and Energize to lead to an amazing turn 7 combo using Cyclops, Astonishing X-Man and Havok, Proud Son. This combo can stun an opponent's board if they are unable to pay the discard required by Havok's ability. It is especially dangerous in a multi-player format and brought up some thoughts on designer intent versus the ...

The Coming of Galactus FAQ

The Coming of Galactus Frequently Asked Questions Compiled by Paul Ross, with contributions from Dave DeLaney, David Harris, and Edwin Teh Last updated November 16, 2007 1. Applicable cards in this set are legal for sanctioned Constructed tournaments upon release. All cards are legal for sanctioned Constructed tournaments except Planets and the Galactus avatar. 2. Epic plot twists Plot twists with version Epic can’t be negated. 3. Opposing and friendly Opposing cards or effects are those controlled by one of your opponents. Friendly cards or effects are those controlled by you or a friendly (non-opposing) player. 4. Worldeater locations The Worldeater locations were printed with their names and versions reversed. All should have version Worldeater. As a result: • Flipping an exact copy of a Worldeater you already control will invoke the uniqueness rule. • Flipping a Worldeater when you control a Worldeater with a different name will not. 5. Giant-Size VS FAQs A summary of the Giant-Si...