Skip to main content

Откат изменений, внесённых во интерфейс командной строки GitHub Copilot время сессии

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

Введение

Когда вы работаете в интерактивной Второй пилот CLI сессии, Copilot можете вносить изменения в файлы, запускать команды shell и изменять репозиторий. Если результат не соответствует ожиданиям, можно перемотать к предыдущей точке сессии, чтобы отменить эти изменения.

Перемотку можно активировать, дважды нажав Esc или используя команду /undo слэш (или её псевдоним /rewind).

Второй пилот CLI Поддерживает два поведения при перемотке:

  • Перемотка на основе Git: откат обратно к снимку рабочего пространства, сделанному в начале запроса.
  • Перемотка на основе инструментов: позволяет перемотать только историю переписок или перематывать историю переписки и восстанавливать изменённые Copilot файлы.

Примечание.

Перемотка на основе инструментов сейчас является экспериментальной функцией и доступна только если вы использовали /experimental on команду slash или --experimental командную строку.

Второй пилот CLI Автоматически выбирает одно из этих перемоточных поведений в зависимости от вашей среды, чтобы обеспечить наилучший опыт перемотки.

Чтобы определить, какое из действий перемотки активно:

  • Если picker сразу показывает снимки и выбирает один откат, вы используете перемотку на базе Git.
  • Если при выборе точки перемотки открывается меню действий с Только Conversation и Conversation + файлы, значит, вы используете перемотку на основе инструментов.

В этой статье объясняется, как откатить изменения. Для получения дополнительной концептуальной информации о перемотке на более ранний момент сессии см. Отмена интерфейс командной строки GitHub Copilot операции и откат изменений.

Необходимые условия

  • Точка перемотки должна существовать. Нельзя откатиться до первого запроса в сессии.
  • Для перемотки только на Git: вы должны находиться в Git-репозитории с хотя бы одним коммитом.
  • Для перемотки на основе инструментов: восстановление файлов можно пропустить для файлов, которые были изменены после Copilot последнего касания.

Откат назад с двойным нажатием клавиши Esc

Предупреждение

  • Перемотку назад нельзя отменить. После отката история последней сессии удаляется навсегда.
  • В Git-перемотке назад откат восстанавливает всё рабочее пространство в состояние, в котором оно было на выбранном снимке. Это отменяет все изменения, внесённые после этого момента — не только изменения, внесённые Copilot, но и любые ручные правки и изменения команд shell. Любые новые файлы, созданные в рабочем пространстве после снимка, удаляются, независимо от их статуса в Git.
  • В перемотке на основе инструментов вы можете выбрать, восстанавливать ли файлы. Если вы выбираете восстановление файла, файлы, изменённые позже Copilot , могут остаться без изменений, чтобы избежать перезаписи новых правок.

Когда Copilot вы закончите отвечать на введённый вами запрос:

  1. Убедитесь, что область ввода пуста. Если в области ввода есть текст, если нажать Esc дважды подряд, текст очищается.

  2. Нажмите Esc дважды подряд, чтобы открыть перемотку.

    Picker перечисляет доступные точки перемотки для текущей сессии, с самой последней первой. Десять самых последних точек отображаются одновременно. Если их больше десяти, используйте стрелку ↓ , чтобы прокрутить ниже по предыдущим точкам. Для каждой точки перемотки отображается начало введённого вами запроса с указанием, как давно вы его отправили.

  3. Выберите точку перемотки назад.

    • В перемотке на основе Git выбор снимка восстанавливает рабочее пространство в состояние в начале этого запроса.
    • В перемотке на основе инструментов, после выбора точки перемотки, можно выбрать:
      • Только переписка (история перематана, файлы без изменений), или

      • Диалог + файлы (история перематывается назад и восстановленные файлы Copilot восстанавливаются).

    Примечание.

    В перемотке на основе Git репозиторий возвращается в состояние сразу перед Copilot началом работы над запросом, а не сразу после завершения работы.

    Выбранный вами запрос отображается в области ввода, так что вы можете отредактировать и отправить его заново, если потребуется.

Откат назад с помощью команды /undo слэш

/undo Команда слэша и её псевдоним /rewindпредоставляют альтернативный способ открытия перемотки назад.

Обе команды дают одинаковый результат, который вы получаете при дважденном нажатии Esc в режиме Copilot ожидания и в области ввода нет текста.

Проверка отката

После отката можно использовать команды Git, чтобы проверить состояние репозитория и подтвердить, что оно соответствует вашим ожиданиям.

Ввод ! позволяет запускать команды shell напрямую из Второй пилот CLI входной строки, поэтому не нужно выходить из CLI, чтобы проверить состояние репозитория.

Чтобы сделать этоВведите эту команду
Проверьте, какие файлы отображаются как изменённые, постановочные или неотслеживаемые.! git status
Покажите SHA и сообщение коммита текущего коммита.! git log --oneline -1
Пересмотрите неинсценированные изменения.! git diff

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