git checkout
Zűrös dolog a checkout és reset. A funkcióikat tekintve legalább felerészben átfedés van közöttük. Például mindkettő változtatja a HEAD-et, mindkettő változtatja az indexet, változtatja a wt-t. Kapcsolók sokaságával lehet szabályozni, mikor mely fájlokra terjedjen ki a hatásuk, melyekre ne. Jól össze lehet keverni. De nem csak a resettel van átfedésben, hanem a branch-csel is, meg még merge-t is végez, meg még ki tudja mit. Őszintén szólva az alkalmazástervezés csődjének látszik.