git rebase

Перенести коміти гілки на нову основу або переписати останні коміти

Що робить

git rebase main бере коміти поточної гілки й заново застосовує їх поверх свіжого main — ніби робота почалася щойно. Історія виходить прямою, без комітів злиття. Якщо коміт конфліктує з новою основою, git зупиниться: виправте файли, додайте їх через git add і продовжте git rebase --continue або скасуйте все через git rebase --abort.

З прапорцем -i rebase стає інтерактивним: git відкриє редактор зі списком комітів, де кожен можна залишити (pick), перейменувати (reword), склеїти з попереднім (squash) або видалити (drop). Так наводять лад в історії перед pull request.

Обережно. rebase створює нові коміти замість старих. Не перебазовуйте коміти, які вже є в спільній гілці: у колег історія розійдеться з вашою. Свою гілку після rebase доведеться надіслати через git push --force-with-lease.

Синтаксис

git rebase <гілка>
git rebase -i <коміт>
git rebase --continue
git rebase --abort

Приклади

Пов’язані команди

Потренувати · Усі команди