Hacker News new | ask | show | jobs
by DrCatbox 5189 days ago
I tried using git for several weeks now and still cant manage to do the simplest things, like maintain a work repo and a sync repo and then pull/merge between them before pushing upstream from sync. It feels like I have to know the internals of git workings just to perform a simple action, and I need to know all the side-effects of its actions, and how to fix those as well. With mercurial all the commands I need to know are hg log, diff, incoming, outgoing, pull, update push and merge. With git I need to know at least two or three flags for each command where each flag is really special to that command and using/not using it changes everything. With mercurial I just know -p -r and -l for limits thats it.

I hate git with a passion now. Its like forcing everything through its world view, for the tinies action it barks are you with insane messages.

Version control systems are supposed to model commits or sets of changes on a repo, not model and show you their own internal representation of what it thinks about my code.

Also Ive noticed most git tutorials really simple things (like this is how you do cvs but now with git), while "the rest" is left to some black ninja voodo magic expert dudes who "get" it.

And this is just another tutorial to work in a very specific environment using git.

Im so glad we use mercurial at work right now.

3 comments

To be fair, I spent a few days trying to wrap my head around Mercurial so I could commit to PyPy, lost a bunch of code, and switched to just using the hg-git bridge. It's mostly about what you're used to.
Mercurial is far from being the only alternative to git. For instance, have you tried bzr?
Git is the first version control system I've ever really used, and I'm starting to like it a lot. However, I agree that the interface is horrible. It is offensive how bad the CLI is.
May be I was so used to subversion. I understand that git is more flexible and powerful, but it makes me feel dumb. Specially because so many smart people love it.
If you haven't seriously used branches before, git can be a bit hard to wrap your head around. And trying to map it back to what you're familiar with in svn adds to the frustration.

The best thing to do is create some "play" git repositories and see what happens when you run any command. You can also run "git clone" on local directories to mimic actual remote repositories without having to set anything up. Don't worry about screwing anything up as you can just delete the directory and start over.