Просмотр удаленных файлов в Git

голоса
98

Я удалил файл с Git, а затем совершил, так что файл больше не находится в моей рабочей копии. Я хочу посмотреть на содержимое этого файла, но на самом деле не восстановить его. Как я могу это сделать?

Задан 08/09/2009 в 17:11
пользователем
На других языках...                            


3 ответов

голоса
112

git show HEAD^:path/to/file

Вы можете использовать явное принятие идентификатора или HEAD~nувидеть старые версии или , если там было больше , чем один фиксации , так как вы удалили его.

Ответил 08/09/2009 в 17:15
источник пользователем

голоса
6

Так как вы не можете вспомнить точный путь, вы можете вместо этого получить sha1 из журнала мерзавца, то вы можете просто оформить

 git cat-file -p <sha1>
Ответил 02/05/2012 в 00:55
источник пользователем

голоса
34

Если это файл , вы удалили некоторое время назад и не хотите , чтобы охотиться на пересмотр , вы можете использовать (файл с именем fooв этом примере, вы можете использовать полный путь):

git show $(git rev-list --max-count=1 --all -- foo)^:foo

rev-listВызов выглядит для всех редакций , fooно только перечисляет один. Поскольку rev-listсписки в обратном хронологическом порядке, то , что она перечисляет последний пересмотр , что изменилось foo, что было бы коммит , который удален foo. (Это основано на предположении , что мерзавец не позволяет удаленный файл , который будет изменен , и все же остаются удалены.) Вы не можете просто использовать версию , которая rev-listвозвращает в-не потому , что fooбольше не существует там. Вы должны спросить за один раз перед ним , который содержит последнюю версию файла, отсюда и ^ин git show.

Ответил 01/11/2013 в 11:31
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more