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.
