Задать вопрос
@Hellazazel666

Почему не получается объединить коммиты?

Я сделал два коммита. Хочу объединить их в один, но мне выдаёт ошибку:
$ git rebase -i HEAD~2
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
  • Вопрос задан
  • 320 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Вы сами процитировали причину:

Нельзя начать пересборку ветки (cannot rebase), пока есть незакоммиченные изменения в рабочем каталоге (You have unstaged changes).

Гит будет пересоздавать заново коммиты, а для этого нужен свободный рабочий каталог, в который распаковываются промежуточные состояния проекта.

Поэтому гит предлагает закоммитить или спрятать несохраненное (Please commit or stash them)

Команда git stash по факту тоже создает коммит, но он не привязан ни к какой ветке и рабочий каталог становится чистым. Затем вы делаете свои нехорошие дела и восстанавливаете stash обратно в рабочий каталог.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы