Commonly: pull, push, commit -a, reset --hard HEAD, checkout $FILE, status, log, show $HASH.<p>Sometimes: commit --amend, rebase -i, add, rm, mv, stash [pop|apply].<p>Rarely: branch, revert.<p>Git&#x27;s documentation uses such a wide and flagrantly inconsistent variety of terminology and maintains such a poor distinction between its interface and its implementation that trying to read it actually worsens my understanding and reduces my confidence. I get everything useful from stackoverflow and ignore the docs at this point, and have thus resigned myself to using git as a form of voodoo.<p>Subversion was so much clearer; I wish it had done a better job with merges and hadn&#x27;t been so server-dependent. Mercurial seemed to actually care about its interface design, and the DVCS experience might suck less if it had won, but I&#x27;ve never had a chance to actually use it.