Uma dificuldade que eu tinha era que eu não conseguia visualizar na minha mente o que cada comando fazia com o repositório. Eu ainda estava com aquela imagem de trunk/branches do SVN, e não conseguia fazer um paralelo com o Git.
O que abriu minha cabeça foi este artigo. É longo, porém muito esclarecedor. Depois de lê-lo, consegui criar um modelo mental do repositório e hoje consigo entender melhor o que cada comando faz. Isso, junto com o entendimento sobre os internals, me fez usar o Git de maneira bem mais assertiva (bem melhor do que eu fazia no início, que era basicamente rodar os comandos e torcer pra dar certo).