Skip to main content

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

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

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

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

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

Note

При переключении ветвей все фиксации, сделанные в состоянии "отсоединяемая голова", будут потеряны, так как эти фиксации не были сделаны в именованной ветви. Если вам нужно восстановить потерянные фиксации, см . раздел "Устранение неполадок".

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

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

    Снимок экрана: вкладка "Журнал" на боковой панели. Над списком фиксаций кнопка вкладки с надписью "Журнал" выделена оранжевым контуром.

  2. Щелкните правой кнопкой мыши фиксацию, вы хотите извлечь и выберите фиксацию выхода.

    Снимок экрана: список фиксаций на вкладке "Журнал". Рядом с фиксацией в контекстном меню выбран параметр "Фиксация выхода" с оранжевым контуром.

  3. Элемент текущей ветви Current Branch в строке репозитория теперь будет отображать "Отсоединяемый HEAD", а также SHA фиксации, которая была извлечена.

    Снимок экрана: панель репозитория. Элемент Current Branch отображает состояние "Отсоединяемая голова" и выделен оранжевым контуром.

  4. Чтобы выйти из состояния "отсоединяемая ГОЛОВА", необходимо переключить ветви. Дополнительные сведения см. в разделе Управление ветвями в GitHub Desktop.

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

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

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

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 фиксацию к текущей ветви в репозитории.

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