В процессе просмотра предыдущих изменений в репозитарии, вы можете обнаружить, что было бы полезно получить более старую версию какого-нибудь файла. Делается это командой git checkout. Обычно, git checkout используется для того, что бы сменить текущую ветку. Однако эта команда работает совершенно по-другому, если в качестве аргумента получает путь к файлу:
$ git checkout HEAD^ path/to/file
Вышеприведенная команда заменяет содержимое файла, взяв его из коммита HEAD^, а также обновляет соответственно индекс. Эта команда не переключает текущую ветвь на другую (как это происходит в синтаксисе git checkout с именем ветки) , потому что в таком виде она не является командой переключения на другую ветку.
Если вы просто хотите посмотреть старую версию файла без внесения изменений в рабочий каталог, вы можете дать команду git show:
$ git show HEAD^:path/to/file
Данная команда просто выведет в консоль содержимое файла из указанного коммита.