4 ms·
Git has a learning curve, yes. Everything has a learning curve. It helps to actually read the documentation, to go through a few tutorials and to generally play
by jnurmine 8y ago
Git has a learning curve, yes. Everything has a learning curve. It helps to actually read the documentation, to go through a few tutorials and to generally play around with Git.
Is it intuitive without prior experience? No. Nothing nontrivial is.
As an example: I have not grokked Blender though I have tried a few times. But I have tried it fully intuitively, just exploring the UI without really reading documentation at all (when I have time I will study it more). Does the UX make sense? No, not to me. Does it mean Blender has a bad UX? No, I don't think so! It has a learning curve like everything else, and learning it is something I have to do if I want to be able to use it. I cannot expect someone else to learn it for me.
- chipperyman573 8y ago>It helps to actually read the documentation, to go through a few tutorials and to generally play around with Git. Yeah, that's the problem. People don't want to do that. Keep in mind, you're not talking about people you find on HN. You're talking about Grandma Sally and Aunt Susan. These are people who can barely use Gmail. They don't want to crack open the documentation
- jnurmine 8y agoWhy would they use Git at all, then?
- deleted 8y ago[deleted]
- jnurmine 8y agoMy point is: people who actually need software version control to get something done are perfectly capable of learning to use Git, warts and all, in 2-4 days which includes reading some of the documentation and playing around with it. Sure, they might have to refer to the documentation for some time after, and also have a personal "cheat sheet" for commands, but I completely believe it is doable, and over a slightly longer period of time they will not need documentation or cheat sheets at all. Arguing that people, who are implied to not need software version control to begin with, would consider Git difficult to learn is a bit strange argument.
- chx 8y agogit user experience is very bad, objectively and not because of the complexity or the learning curve. A good UX allows you to learn patterns which are applicable across the application. git, on the other hand, offers you an absolutely bewildering mismash of commands and switches to express whether the operation involves a remote, the index or the working tree. This could've been and should've been consistent but no such thing. Beyond the consistency argument, Jef Raskin: Humane Interface argues for universal undo which git almost has via the reflog except it should've built a safety net for git reset --hard which is possible https://gist.github.com/chx/3a694c2a077451e3d446f85546bb9278 https://gist.github.com/chx/3a694c2a077451e3d446f85546bb9278 (and no, disk space usage isn't a concern for 99.99% of the codebases, "disk is the new tape" predates git _and_ even without that recognition most codebases are tiny) and then it could git undo happily. Add these two and you have a user friendly git without taking away any power.
- mg794613 8y agoNo that would make it unusable to use git in automation. what you are looking for is a training gui around git. until your learn enough to not shoot your foot. no need to dumb down a tool because someone doesn't get it.
- speedplane 8y ago> no need to dumb down a tool because someone doesn't get it. If your goal is to make a tool useful to the widest audience possible, then yes, that the goal is precisely to dumb it down so as many people as possible "get it".
- chx 8y agoI am unsure which of the two would be a bane of git automation but if it is git undo, the fix is really simple: make it opt out. I have git config and I am not afraid to use it.
- speedplane 8y agoI understand the difference, and understand why you use one over the other, but the fact that git has separate "squash", "merge", and "rebase" functions is a UX disaster.