http://sethrobertson.github.io/GitFixUm/fixup.html
There should be more fix-it-yourself tools like this.
Although if nothing else, it speaks to how overly (and seemingly unnecessarily) complicated git is.
Did I rant about this facet of github? I finally hit upon the single most poignant problem with github. This is really a git problem, but the problem is forced on you more strongly with github.
By being a distributed repository, there’s bits and copies of it all over the place, and the defining bit of information that is missing is Which One Is Important.
You can figure out that this fork came from that repo and that repo came from that fork, but that doesn’t mean the most recent fork is the correct one.
One I make a repo somewhere it’s stuck there forever, because if I try and move it, by forking and using the new one… now I have two and there’s no obvious way that I can tell to mark one repository as being the “right” one. Maybe I forked something and made some changes, but the whole thing was a bad idea and I just want to use the original. But I go away and come back a month later and I have no idea which is the one I should do builds off of.
With a central repository, there is really no question where you go to do a build.
You can kind solve the problem a little with git by making a bare repository and just having one, and then it’s a little more obvious that THAT’S the one. The bare-ness of it, is a flag saying that this one is more important than all the others, this is the one where I put the live stuff.
But github doesn’t have that. Everything is a repo exactly like every other repo, forked or not.
They just need a flag saying “important” and you can’t flag more than one that way. Something like that.