Comment by mFixman
7 years ago
Honestly, a lot of what's wrong in git is that people seem to mostly memorize or copy-paste a finite amount of commands, and when something goes wrong they are completely lost unless they can find a way to copy-paste a solution.
Instead of saving a 6 command list for some use cases, why not just get used to the simple but kinda unintuitive way of how revisions and branches work? If you know that, you can solve any problem with `commit`, `checkout`, `reset`, `reflog`, and occasionally `cherry-pick`.
Quick quiz, what does 'git checkout x/y' do? I am aware of users hitting at least 3 interpretations.
I'd say it changes your code to match that of a branch in your local copy of the repo.
It resets the file x/y, or checks out branch y of remote x, or checks out local branch x/y. I've had confused users manage to create al of these cases, and git is very unhelpful in explaining the difference between the three cases.
I think you already answered your own question. It is very hard to get comfortable with things if they are unintuitive :)