Как я могу восстановить файлы перед определенным коммитом в GitHub? - PullRequest
0 голосов
/ 08 марта 2011

Как я могу восстановить файлы перед определенной фиксацией в GitHub?

1 Ответ

2 голосов
/ 08 марта 2011
  1. Если вы хотите получить отдельный файл, например, перед фиксацией f4l4fe1, вы можете сделать:

    git checkout f4l4fe1^ -- some/file.txt
    

    (Когда вы добавляете ^ к ссылке в git, это означает, что родитель этого коммита.) Вы должны найти some/file.txt в вашем рабочем дереве, но учтите, что он также будет инсталлирован как изменение совершить.

  2. Если вы хотите просто увидеть рабочее дерево, как оно было при предыдущем коммите, вы можете проверить коммит, как если бы это была ветвь:

    git checkout f4l4fe1^
    

    Это ставит вас в состояние, известное как «отсоединенный ГОЛОВ», когда вы больше не находитесь в определенной ветке, поэтому создание новых коммитов не продвинет ни одну ветку. Чтобы вернуться к master, скажем, вы просто сделаете git checkout master.

  3. В качестве третьего варианта, предположим, что вы хотите извлечь из этого коммита целый каталог или целый подкаталог, вы можете использовать git archive и направить вывод в tar, как описано в: Какой лучший способ извлечь дерево из репозитория git?

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