Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Git: git, rebase, commit, history, branch

Как работает git rebase?

Проверяет понимание операции переноса и «переписи» истории коммитов.

Короткий ответ

git rebase перемещает одну ветку поверх другой, копируя коммиты и переписывая их базу. Он берёт набор коммитов, начиная с точки ветвления, и последовательно применяет их к новой базе, создавая новые коммиты с теми же изменениями, но другим родителем. Это позволяет получить линейную историю без merge-коммитов.

Длинный ответ

Механизм работы:

  • Git находит общий предок (fork point) ветки и целевой базы.

  • «Отделяет» коммиты ветки, формируя пачку патчей.

  • Поочерёдно применяет патчи к целевой ветке, создавая новые SHA.

Команды:

  • git checkout feature && git rebase main

  • Разрешение конфликтов при остановках, затем git rebase --continue.

  • При ошибках — git rebase --abort.

Плюсы:

  • Чистая линейная история, легко читать логи.

  • Упрощает bisect и поиск ошибок.

Минусы:

  • Переписывает историю: нельзя делать rebase публичных веток.

Варианты:

git rebase -i для интерактивного редактирования (составление, сжатие, переупорядочивание коммитов).

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Git

    Git

Ключевые слова

#git

#rebase

#commit

#history

#branch

Подпишись на React Developer в телеграм