Si entendí, efectivamente si vuelves a un commit anterior y haces git log, verás que los commits posteriores desaparecen, en eso estamos bien.
Pero eso es normal, para eso está el comando git reflog, para que inspecciones todos los commits sin importar dónde estés.
Además si deseas ver tus cambios previos ni siquiera hacer falta hacer checkout, con utilizar git show lo puedes conseguir, además si utilizas algún programa gráfico para revisar tu código (recomendado) también puedes navegar por todos los cambios, archivos, historial, etc. sin tener que hacer checkout.
PDTA: ya que estamos aprendiendo, ¿puedes explicar la sintaxis que usas en tu checkout?
Es decir, me gustaría ver un ejemplo real de cómo utilizas la instrucción checkout aquí:
La parte del :/ y las comillas no las entiendo.