4 ms·
Because most users of git don’t really understand it. It’s really hard to learn properly and so most users just memorize the commands for their project’s workfl
by crispyporkbites 9y ago
Because most users of git don’t really understand it. It’s really hard to learn properly and so most users just memorize the commands for their project’s workflow and ask the resident git expert to help (or nuke their local copy) when things go wrong.
- philwelch 9y agoIt’s not hard to “really understand Git”. If anything, it’s the opposite problem—Git’s implementation is conceptually simple enough that the only good mental model the end user could possibly have is the implementation model. Systems like Subversion or Perforce or Fossil probably have even more complicated implementations than Git, and largely that’s to support a dumbed-down mental model that doesn’t require learning how the tool actually works. With Git, you learn how it works and you’re set, more or less.
- ropeadopepope 9y ago> It’s not hard to “really understand Git”. Are you going to tell me you've never lost work because you didn't know git well enough to avoid putting your branch into a bad state?
- philwelch 9y agoI’ve never lost work that I committed, which is the most you can ask of a version control system.
- ropeadopepope 9y agoYou've never botched a merge, try to undo it and accidentally lost work? It's happened to me and/or the people I work with roughly once a quarter since I started using git.
- rossy 9y agoYou shouldn't be able to lose any committed work in git. If you botch a merge, you can reset to one of the merge parents and try it again. If you botch a "destructive" operation like a reset or a rebase, you can undo it using the reflog, which is essentially a 30-day undo history for every branch in your repository.
- mkgolden 9y agoCare to share a botched merge story of yours? I try to learn from others mistakes.
- plorkyeran 9y agoNo, I can't say that I've ever lost work in that manner in over a decade of using git. The first few times I made a mess of things while trying to do a nontrivial merge it admittedly took a while to figure out how to get back to my starting point, but I guessed (correctly) that it'd be worth spending that time to learn how to do it rather than giving up and throwing away work.
- _ph_ 9y agoNo, I would ask also, that I routinely manage to commit successfully what I change vs. losing my changes when trying to commit them.
- philwelch 9y agoFair—that hasn’t happened to me either, though.