Как я могу проверить конкретную версию одного файла в git?
Я нашел это письмо в списке рассылки , в котором говорилось:
$ git checkout HEAD~43 Makefile
$ git reset Makefile
Но я не понимаю, как узнать «HEAD ~ 43», если я сделаю git log aFile
, как я могу узнать, какой «HEAD ~ 43» мне следует использовать?
И зачем мне запускать git reset
этот файл? Что оно делает?
Ответы:
Вы знаете, к какому коммиту (т.е. к конкретной ревизии) принадлежит файл? Затем сделайте:
Другая команда:
Это когда вы хотите получить версию файла из диапазона назад (что я делаю для ностальгии).
источник
HEAD~43
просто древовидный, поэтому вы можете использовать хэш или тег. Вы должны отделить древовидность от имени файла с помощью--
, иначе оно будет рассматриваться как имя файла. Например.источник
HEAD~43
относится к фиксации (версии) файла. Вместо этого вы можете использовать хэш фиксации, который вы получаете в результате выполненияgit log
в файле. Если вам просто нужен файл, запускатьgit reset
его не нужно ; это необходимо только в том случае, если вы хотите перенаправить файл на текущий HEAD.источник