Интерактивный 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:
- Запоминает текущий HEAD, чтобы можно было вернуться к нему из Repository → More → Reflog… (см. Reflog).
- Авто-стэшит незакоммиченные изменения.
- Пишет старт операции в журнал.
Если приложение убьют посреди rebase, GitBor покажет диалог восстановления при следующем запуске — продолжить, отменить или забыть операцию. См. Защита данных.