Sobes.tech
Back to questions
Junior — Middle
69

Объясните, что означает команда interactive rebase в системах контроля версий Git и как она используется для редактирования истории коммитов.

Answer from AI

sobes.tech AI

Команда git rebase -i (interactive rebase) позволяет интерактивно изменить историю коммитов в ветке. С её помощью можно:

  • Изменить порядок коммитов
  • Объединить несколько коммитов в один (squash)
  • Изменить сообщения коммитов
  • Удалить ненужные коммиты
  • Разбить коммит на несколько

При выполнении git rebase -i <base> Git откроет текстовый редактор со списком коммитов, начиная с указанной базы. Пользователь может редактировать команды перед каждым коммитом (pick, squash, edit и др.), чтобы изменить историю.

Пример использования:

# Запустить интерактивный rebase для последних 3 коммитов
git rebase -i HEAD~3

В открывшемся редакторе можно заменить pick на squash для объединения коммитов или edit для изменения содержимого коммита.

Это полезно для очистки истории перед публикацией ветки, чтобы сделать её более читаемой и логичной.