Hacker News new | ask | show | jobs
by p3ll0n 5854 days ago
If you want to learn git, open a terminal and read the man pages, create a dummy repository, push changes to it, pull from it, clone it, merge it, etc. Don't start with something like Gitbox because its hides all the details and more importantly the beauty and elegance of git.
4 comments

I think that's the point of the project - to hide the details. I'm a developer of project X, but a user of git. I don't care about it - I want to see it as little as possible, because it's just another tool. Whether it's beautiful or not, I've got a work to do.

It's a bit like with the compiler: it can be pretty and all, but ultimately I just want to write `make` and get my binary. When I need the details, I know where to find them.

I would argue that your SCM tool should be less like a compiler that just needs to get out of your way and just do it's job how you expect it and more like a text editor. Do you use emacs or vim, which have learning curves but are powerful and help you ultimately do your job much better and more efficiently? Or do you use Notepad, which just edits text and who cares? I think most developers prefer Emacs or Vim or even an IDE. You invest time in a more complex tool so that you can be a better developer.

That being said, I think this will be useful for a lot of less-techy designers or copy-editors or QA people, etc. People who can just open stuff in Notepad because they don't need to craft code.

I think the argument here is that

a) basic Git isn't that complex b) Learning a dumbed down subset of Git won't help you long term

I would say that giving people a gentle introduction to stuff is great, but it's important to make sure that it is a launch-pad for really learning the tool properly in the future.

I can see this being useful where you have lots of developers, most of whom simply need to get stuff done and don't particularly care about the beauty of git. You have your local git expert who can do the hard stuff and fix all the problems, and everybody else uses gitbox.
Don't get me wrong Gitbox (and similar 'pretty wrappers') have their place just not as a learning tool.

My rule of thumb for 'mission critical software' like version control systems - if you can't access its fully functionality at the shell when logged in to a remote machine then forget about it.

Gitbox is great for your workflow until the day you have to actually use git and you have no time to 'actually' learn git.

Seems to me like the perfect time to learn git is when you need to use it.
You should prefer Darcs then. It's written in a lazy language that does everything at the last possible moment (if at all).

(Disclaimer: Tongue in cheek.)

Yes, the point of Gitbox is to hide the details but that's not necessarily a bad thing.

I've had to teach plenty of people how to properly merge files using Git and no one has ever said "oh that makes sense". If a tool can hide the ugliness of merging conflicting files, even a little, it'll help a ton of people get used to using Git.