I prefer to remain oblivious to many things. Two views of the Mississippi and all that.
Git works reliably and achieves my humble expectations. Thanks git.
But in reality I use about the same set of commands. The exception being ‘cherry-pick’ which I avoid solely on disliking the name.
git alias --global pick cherry-pickGit is definitely abstract and hard to get the hang of but totally worth it - pays dividends in terms of the options it puts at your disposal. And the stimulating nature of learning how it works so that you can think for yourself to figure out a solution, instead of just memorizing 3 commands and running to AI for help when you get a little stuck.
- pull
- push
- commit/checkout
- merge
Quality of life:
- stash
- diff
Asking for trouble:
- revert
- cherry-pick
Your definition matches my mine of a tight subset of git.
* pull
* push
* checkout / switch
* commit (ofcourse)
* merge
But I will end up needing
* log / log --stat
* stash
* diff
* show / show --stat
* blame
* revert
* cherry-pick
* reset
* git grep (can be replaced with rg / grep -rn)
I can't imagine not having these commands now.
If you use something frequently you should know it in-depth. It applies to tools (git, VSCode), frameworks (Spring, Django, whatever), infra (kubernetes, docker). otherwise you're missing out.