# Извлечение фиксации в GitHub Desktop

Для получения предыдущей фиксации в репозитории можно использовать GitHub Desktop.

## Сведения о проверке фиксации

Извлечение фиксации позволяет просматривать репозиторий в предыдущем состоянии, не создавая новую ветвь или изменяя существующую ветвь. Это может быть полезно при отладке, так как оно позволяет узнать, существует ли ошибка в репозитории при предыдущей фиксации.

Извлечение фиксации помещает репозиторий в состояние "отсоединяемая голова". В терминологии Git "HEAD" — это ссылка, указывающая на подсказку или последнюю фиксацию именованной ветви в репозитории. Состояние "отсоединяемый HEAD" означает, что HEAD ссылается на определенную фиксацию, но не в именованной ветви в репозитории.

> \[!NOTE]
> При переключении ветвей все фиксации, сделанные в состоянии "отсоединяемая голова", будут потеряны, так как эти фиксации не были сделаны в именованной ветви. Если вам нужно восстановить потерянные фиксации, см [. раздел "Устранение неполадок](#troubleshooting)".

## Извлечение фиксации

1. На левой боковой панели нажмите кнопку **"Журнал**".

   ![Снимок экрана: вкладка "Журнал" на боковой панели. Над списком фиксаций кнопка вкладки с надписью "Журнал" выделена оранжевым контуром.](/assets/images/help/desktop/history-tab-in-commit-sidebar.png)
2. Щелкните правой кнопкой мыши фиксацию, вы хотите извлечь и выберите **фиксацию** выхода.

![Снимок экрана: список фиксаций на вкладке "Журнал". Рядом с фиксацией в контекстном меню параметр "Зафиксировать" выделен оранжевым цветом.](/assets/images/help/desktop/checkout-commit.png)

1. Элемент **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch** в строке репозитория теперь будет отображать "Отсоединяемая голова", а также SHA фиксации, которая была извлечена. ![Снимок экрана: панель репозитория. Элемент Current Branch отображает состояние "Отсоединяемая голова" и выделен оранжевым контуром.](/assets/images/help/desktop/branch-item.png)
2. Чтобы выйти из состояния "отсоединяемая ГОЛОВА", необходимо переключить ветви. Дополнительные сведения см. в разделе [Управление ветвями в GitHub Desktop](/ru/desktop/making-changes-in-a-branch/managing-branches-in-github-desktop#switching-between-branches).

## Устранение неполадок

Вы можете восстановить фиксации, сделанные в состоянии "отсоединяемый HEAD", с помощью `git reflog` команды из командной строки Git. Вы можете открыть репозиторий в командной строке из GitHub Desktop , перейдя ****в строку меню, выбрав репозиторий** и нажав кнопку "Открыть" в командной строке**.

Команда `git reflog` отобразит выходные данные событий, которые произошли в репозитории, включая фиксации. Ниже приведен пример выходных `git reflog` данных команды:

```shell
81fa9136f8 (HEAD -> main) HEAD@{0}: checkout: moving from 8bd5e736a27a52a7e36a856b30e6f0582d341aa1 to main
8bd5e736a2 HEAD@{1}: commit: testing out a feature
22fa76c125 HEAD@{2}: checkout: moving from main to 22fa76c1250a2847305b9325752d941dbaa55983
```

Строка `8bd5e736a2 HEAD@{1}: commit: testing out a feature` — это фиксация, которую мы хотим восстановить, так как она была сделана, пока репозиторий находился в состоянии "отсоединяемая ГОЛОВА". Чтобы восстановить его, можно применить `git cherry-pick 8bd5e736a2` фиксацию к текущей ветви в репозитории.

## Дополнительные материалы

* [Отсоединение HEAD](https://git-scm.com/docs/git-checkout#_detached_head) в документации по Git
* [Выбор вишни](https://git-scm.com/docs/git-cherry-pick) Git в документации по Git