On Sun, Feb 06, 2011 at 03:19:21PM +0100, Marco Von Ballmoos said:
> I would have said exactly the same thing before I learned git, but 
> you're missing out. It's worth learning, but it's hateful for making 
> itself seem so intimidating -- and for including so few safeguards or, 
> at the very least, a noob-mode that prevents you from shooting 
> yourself in the foot. It's nice to know that you never lose changes, 
> but if you can't find them or dig them out and apply them to your 
> branch, they're as good as gone to you anyway.

I loathed git when I first started using it, then I got to know it, 
moved away from the initial n00b mistake of trying to map everything to 
an SVN and CVS mindset and now I've been using it for a few years. 

And I still hate it.

Part of the problem is that, as Nick mentioned, there's more than one 
way to do it. But the ways are generally mutually exclusive so at each 
company you go to you have to learn what their work flow is. And 
occasionally you're toodling along doing your usual work flow and 
suddenly your pull or rebase or merge or whatever you've chosen to do 
suddenly fails with merge conflicts on files you've never even touched.

Awesome.

Git people like to say "Git lets you shoot yourself in the foot but you 
can just revert to a previous version and merge the old foot into the 
new leg"

I prefer:

"Git gives me the tools to get out of problems I never had before"

Sure it's nice sometimes to work offline (although how many times am I 
*actually* off line). But, you know, I had SVK for that and that worked 
fine.

But seriously - I encounter more problems every week with Git than I 
think I ever did in the whole time I used SVN.

On the other hand Git virtually relies on the fact that you need to keep 
lying to it (cherry-picks, rebasing and ammending are all lies). Also 
I'm never entirely sure that I'm not accidentally going to rewrite every 
commit so that every message is "I am a Fish"

Now I actually think that the whole concept underlying Git is nice - I 
actually have crazy ideas about ways to reinvent Email via Git. It's 
just that the usability of the end product is the worst kind of 
Programmer Design Interface

http://thegestalt.org/simon/images/dilbert_ui.jpg

I also like Github except for the fact that it seems to encourage the 
more retarded members of the Ruby community to fork and never merge so 
that nowadays trying to pick the correct version of a Ruby gem to use is 
an exercise in tooth grinding futility - liek they looked back at pre 
Apache NCSA HTTPD and thought "Wow, maintaining your own patch set looks 
*awesome*, let's emulate that"

So, in short - Git solves virtually no problems that I have whilst 
introducing a whole bunch of new problems whilst flipping me the finger 
of shitty interface and even shittier docs.

On the other hand it does give a bunch of people the chance to wave 
their dicks around using obscure commands to meld version control 
reality around them.

Which I'm sure makes them happy.



Reply via email to