GitBor

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

Редактор pick / reword / edit / squash / fixup / drop с прогресс-баннером

Интерактивный rebase в GitBor — это GUI-обёртка над git rebase -i. Менеджер: src/core/git/RebaseManager.ts. UI: src/renderer/src/features/rebase/.

Запуск

Правый клик по коммиту в графе → Rebase Interactive from here.... Откроется редактор со списком коммитов от базовой точки до HEAD.

Действия

Для каждого коммита можно выбрать одно из стандартных действий git rebase:

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

Порядок коммитов в редакторе можно менять перетаскиванием (это эквивалент перетасовки строк в git rebase -i).

Прогресс и управление

После старта rebase в верхней части окна появляется жёлтый баннер прогресса:

  • Номер текущего шага (Шаг 3 из 7).
  • Кнопка Continue — продолжить (git rebase --continue).
  • Кнопка Skip — пропустить текущий коммит (git rebase --skip).
  • Кнопка Abort — отменить весь rebase и вернуть HEAD на исходную позицию (git rebase --abort).

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

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

Перед запуском rebase safety-слой:

  1. Сохраняет текущий HEAD-хеш (для аварийного восстановления).
  2. Делает auto-stash, если есть незакоммиченные изменения.
  3. Записывает событие begin в WAL-журнал .git/GitBor-journal.json.

Если GitBor падает посреди rebase, при следующем запуске RecoveryManager обнаружит незавершённую операцию и предложит её продолжить или отменить.

TODO: скриншот редактора rebase и прогресс-баннера.