4 ms·
wow. > I'm incredibly hesitant to try any sort of complex git operation because of the risk that I might lose my in-progress commits. correct way of learning
by popopopo 9y ago
wow.
> I'm incredibly hesitant to try any sort of complex git operation because of the risk that I might lose my in-progress commits.
correct way of learning git is every time you want to use a "complex"/dangerous commands in git, you `cd /tmp` and create a git repository there. then create some commits, branches and experiment. you will NOT lose anything, but you will learn a lot.
I did and do this every time I have doubts. and with time you will understand how non-dangerous git commands are.
"dangerous" part comes from the user, not the software, and it is okay. when you accidentally kick a corner of a furniture, that does not make that furniture "dangerous".
- _pmf_ 9y ago> when you accidentally kick a corner of a furniture, that does not make that furniture "dangerous". When the piece of furniture has a serrated corner that cuts deep into your toe, you'll probably reevaluate the appropriateness of your metaphor.
- popopopo 9y agooh, so if you are careless, that's furniture's fault. okay. your comment is not the best counter to my point either. PS: i have a lot of furniture with rought edges. I've learned my lesson, and furniture is not a problem anymore.
- tudorw 9y agoNo but if occasionally the furniture kicks you, then it could be improved on, pointing out flaws in the best of the best is very worthwhile, it's in that pain space that the biggest usability gains are to be had.
- lucideer 9y agoIf this is the "correct" way to learn, the problems are not with the user. A well designed ui should be learnable while being used - creating a fresh learning repo for dedicated learning for fear of losing data while using the tool in your "real" repo is the ultimate red flag in terms of usability.
- popopopo 9y agoa still, while people cry about UI (which is irrelevant part), other people just take time and learn git. by whatever measures. PS. throwing out things you test on. isn't that how every programming tutorial works? write code NOT in your main repository, test things out, throw it away (or keep it, whatever)?
- majewsky 9y agoWith a programming language, if you open a new file A in the same repo and try out some stuff, and it doesn't turn out well, you can just delete the file and be reasonably sure that it doesn't fuck up files B, C and D in the same directory.
- lucideer 9y ago> UI (which is irrelevant part) UI usability is irrelevant... ?!?? > isn't that how every programming tutorial works Firstly, learning programming and learning to use a tool that is a component of your workflow are two independent things. The latter should generally (ideally) have a much lower (aiming towards zero) learning curve. Yes, this is possible, with good UI design. Secondly, even programming language designers strive towards lowering this learning curve. There is, imo, a necessary complexity, or "table stakes" for any reasonably useful language, but its still very evident to any language designer that this is a trade-off. Usability is desirable. For a tool as popular and essential as Git, usability should be a much more central goal than it seems to have been in the past.
- nine_k 9y agoIs writing programs and building them a part of your workflow? Do you even spend time on setting up your build? On acquiring an actual understanding of how it works? Other tools are no different. If it's an important tool, it pays to actually study it. Do not expect tools to do what you mean before you know well what you mean.
- lucideer 9y ago
- golergka 9y ago> correct way of learning git is every time you want to use a "complex"/dangerous commands in git, you `cd /tmp` and create a git repository there. then create some commits, branches and experiment. you will NOT lose anything, but you will learn a lot. What if your repo with full history is about 30gb?
- geezerjay 9y agoWhy are you learning how to use hit by testing commands on a 30gb repo?