GitBorGitBor

Интерактивный rebase

Переписывание истории: reword, squash, fixup, перестановка и удаление коммитов

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

Запуск rebase

Правый клик по коммиту в графе → Interactively Rebase '<branch>' to Here…. Редактор откроется со списком коммитов от этой точки до HEAD.

Действия

Выберите по одному действию на коммит:

ДействиеЧто делает
pickПрименить коммит как есть.
rewordПрименить, затем открыть редактор сообщения.
editПрименить и остановиться, чтобы внести правки.
squashСлить с предыдущим коммитом, объединив сообщения.
fixupСлить с предыдущим, отбросив это сообщение.
dropУдалить коммит из истории.

Перетаскивайте строки, чтобы менять порядок коммитов — то же, что перестановка строк в git rebase -i.

Прогресс rebase

Когда rebase запущен, сверху окна появляется баннер:

  • Текущий шаг (например, «Rebasing: step 3 of 7»).
  • Continue — продолжить после правки или разрешённого конфликта.
  • Skip — пропустить текущий коммит.
  • Abort — отменить весь rebase и вернуть HEAD туда, где он стартовал.

При конфликте GitBor переключит вас в Merge Editor для конфликтных файлов. Разрешите их и нажмите Continue.

Безопасность

Перед стартом GitBor:

  1. Запоминает текущий HEAD, чтобы можно было вернуться к нему из Repository → More → Reflog… (см. Reflog).
  2. Авто-стэшит незакоммиченные изменения.
  3. Пишет старт операции в журнал.

Если приложение убьют посреди rebase, GitBor покажет диалог восстановления при следующем запуске — продолжить, отменить или забыть операцию. См. Защита данных.