Lista y files de gato en cierto compromiso

¿Es posible en git listr todos los files en un directory con una determinada confirmación, no solo los cambios? Me gustaría no tener que actualizar mi tree de trabajo (es decir, git checkout ).

En el mismo espíritu, también estoy interesado en hacer lo mismo con el contenido del file (uno usaría cat en el tree de trabajo).

Si esto no es posible, ¿cómo maneja internamente el listdo / visualización de files github, gitlab, bitbucket, etc.? git checkout ?

https://git-scm.com/docs/git-ls-tree

Individualmente git show <ref>:<path

Podrías haber buscado en Google eso.