Для файла, как мне вернуться к предыдущей версии в Git? - PullRequest
1 голос
/ 20 апреля 2011

Для моего текущего файла я хочу "вернуться" к версии __. Как мне это сделать в Git?

Я не хочу, чтобы версия была моей новой головой. Я просто хочу посмотреть, какой код был там в то время.

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

Если вы не хотите перезаписывать версию в вашем рабочем дереве, используйте git show:

git show rev:path/to/file

Обычно rev - это любое выражение (см. Раздел «Задание редакций» в git-rev-parse (1) ), которое можно преобразовать в коммит 1. .
path/to/file должен быть путем к файлу интереса (начиная с верхнего уровня хранилища).

Например, показать src/config.c из фиксации «исправление ошибок»:

% git log --oneline
7c07566 second feature
bbdbea8 fix bugs
1cf42c8 first feature
82cfa1d initial commit
% git show bbdbea8:src/config.c

bbdbea8 также может быть полным именем объекта (bbdbea801c2a465a8c509befa46174bad4fd9fd4 в моем тестовом хранилище) или выражением HEAD~ или HEAD^ (если вы уже знали, что интересующий вас коммит был первым родителем) текущей головы).

1 В синтаксисе rev:path, rev не обязательно должен быть «commit-ish», он может быть любым «treeish» (и путь начинается с указанного дерева вместо верхнего уровня).


Git также может сравнивать разные версии файлов без необходимости явно извлекать каждый файл:

Показать кумулятивные изменения, внесенные в src/config.c с момента bbdbea8:

git diff bbdbea8 -- src/config.c

Или иногда полезно просмотреть историю по крупицам. Показать каждое изменение на src/config.c, начиная с bbdbea8:

git log -p --reverse bbdbea8.. -- src/config.c
0 голосов
/ 20 апреля 2011

Попробуйте следующее, что просто проверяет конкретную версию файла

git checkout revision -- filename
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...