Документація

Інтерактивний rebase

Інтерактивний rebase перетворює git rebase -i у візуальний потік: перетягуйте, щоб перевпорядкувати чергу комітів, застосовуйте коміти по одному, розв’язуйте конфлікти візуально — командний рядок не потрібен.

Початок

Відкрийте панель гілок і надрукуйте в поле Filter branches..., щоб знайти цільову гілку, потім правою → Rebase Current Branch onto '{branch}', щоб перебазувати поточну гілку на ціль. Панель перемикається у вигляд rebase, що проходить чотири фази:

Пошук гілки в панелі, потім старт rebase на ціль

1. Редагування черги комітів

Коміти вашої гілки, яких бракує цілі, формують чергу:

  • Перетягуйте для перевпорядкування;
  • кожен коміт має випадаючий список дій: pick (лишити) / squash (згорнути в попередній, злити повідомлення) / fixup (згорнути, відкинути повідомлення) / edit (зупинитись виправити) / drop (відкинути);
  • згорнуті й відкинуті коміти візуально складаються.
Черга комітів rebase — перевпорядкування перетягуванням, дії на коміт

2. Застосування

Start Rebase програє чергу на ціль коміт за комітом з живою смугою прогресу; без конфліктів вона проходить просто до кінця. Abort відкочує будь-коли.

3. Конфлікти (якщо є)

Конфлікт під час застосування перемикає у вигляд конфліктів — список файлів плюс редактор злиття з чотирма режимами (Merge / Split / Raw / AI), де кожен конфліктний hunk отримує власне рішення (Ours / Theirs / Both …; див. Розв’язання конфліктів). Щойно кожен файл розв’язаний, Continue відновлює rebase.

Вигляд конфліктів — рішення злиття на hunk

4. Готово

При завершенні панель підтверджує Branch '{branch}' was rebased onto '{target}' і показує картку push — rebase переписав історію, тож віддалену гілку треба примусово оновити:

  • Force Push with Lease — рекомендовано: перезаписує лише коли ніхто інший не запушив, і ніколи не використовує голий --force;
  • Not now — пропустити push; локальний rebase уже завершено.
Сторінка завершення — Force Push with Lease або пропустити push

Сесія лишається придатною під час rebase; закриття панелі не перериває той, що виконується.