Сведения о проверке фиксации
Извлечение фиксации позволяет просматривать репозиторий в предыдущем состоянии, не создавая новую ветвь или изменяя существующую ветвь. Это может быть полезно при отладке, так как оно позволяет узнать, существует ли ошибка в репозитории при предыдущей фиксации.
Извлечение фиксации помещает репозиторий в состояние "отсоединяемая голова". В терминологии Git "HEAD" — это ссылка, указывающая на подсказку или последнюю фиксацию именованной ветви в репозитории. Состояние "отсоединяемый HEAD" означает, что HEAD ссылается на определенную фиксацию, но не в именованной ветви в репозитории.
Примечание. Все фиксации, сделанные в состоянии "отсоединяемая ГОЛОВа", будут потеряны при переключении ветвей, так как эти фиксации не были сделаны в именованной ветви. Если необходимо восстановить потерянные фиксации, см. раздел "Устранение неполадок".
Извлечение фиксации
-
На левой боковой панели нажмите кнопку "Журнал".
-
Щелкните правой кнопкой мыши фиксацию, вы хотите извлечь и выберите фиксацию выхода.
-
Элемент текущей ветви Current Branch в строке репозитория теперь будет отображать "Отсоединяемый HEAD", а также SHA фиксации, которая была извлечена.
-
Чтобы выйти из состояния "отсоединяемая ГОЛОВА", необходимо переключить ветви. Дополнительные сведения см. в разделе Управление ветвями в 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
фиксацию к текущей ветви в репозитории.
Дополнительные материалы
- Отсоединение HEAD в документации по Git
- Выбор вишни Git в документации по Git