Git is a minefield. It has been around since 2005. Stack overflow has some interesting and enlightening discussions on it. Many posts although old are still very relevant.
https://stackoverflow.com/questions/2530060/in-plain-english-what-does-git-reset-do