Little things I would teach to my younger software engineer self - #3 Git-fu

Looking back at the various stages of my career, I realized I could have learned some basic stuff way earlier than I did.
Even if I missed the original opportunity, all those little skills I acquired late served me tremendously well ever since. 

2008-me: Git? this is black magic for me, I kinda follow recipes, I can make a branch, push stuff, ignoring whatever this ugly thing tells me about fast-forwarding and oh crap I lost it, what is this weirdo state ? Ok, I'll admit it... I zap the entire repo and re-clone it every time I feel too uncomfortable.

2014-me: This is a mistake. You need to realize that git is a superb tool but its authors had such a disregard about its usability that you'll take forever to master it by just using it.

The only efficient way to learn git is to understand how it work from within, go straight to the chapter about its guts. Suddenly everything will make sense.

Any tips you would give to your younger self programmer ? Feel free to comment below !