#Что означает ошибка
unstaged changes
Нужно сохранить или спрятать локальные изменения перед pull --rebase. Используйте git stash или коммит.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Несохранённые изменения | git status показывает локальные правки. | Сохраните отдельным коммитом или stash. |
| Не добавлены | Есть незакоммиченные новые файлы. | При stash выберите -u после проверки списка. |
| Конфликт | Rebase остановился на конфликте. | Исправьте файл и git rebase --continue либо --abort. |
| Автостэш | Настроенный autostash не сработал. | Сохраните правки вручную прежде pull. |
#Пошаговое решение
- Сохраните список незакоммиченных файловВ терминале внутри репозитория выполните
git status --shortиgit diff(для уже добавленных измененийgit diff --cached). Убедитесь, что изменения ваши и их нельзя потерять.git pull --rebaseне следует повторять до выбора способа сохранения. - Вариант А: сделайте отдельный коммитЕсли изменения завершены и их нужно сохранить в истории, выполните
git add ПУТЬ_К_ФАЙЛУдля проверенных файлов, затемgit commit -m "Сохранить локальные изменения". Не используйтеgit add -Aбез просмотра статуса: можно случайно зафиксировать секреты. - Вариант Б: временно отложите измененияЕсли работа не закончена, используйте
git stash push -u -m "before-rebase"(ключ-uвключает непроиндексированные файлы, но не игнорируемые). Убедитесь, что запись видна черезgit stash list, затем выполнитеgit pull --rebase. После успешного обновления верните правкиgit stash apply, проверьте конфликтующие файлы и только потом удаляйте stash. - Проверьте итоговое состояниеВыполните
git statusиgit log -1 --oneline. При конфликте rebase сначала откройте конфликтующие файлы, исправьте вручную и используйтеgit rebase --continue; для безопасной отмены текущей операции —git rebase --abort. Не выполняйтеgit reset --hardради устранения ошибки.
#Если проблема осталась
Если «Git: cannot pull with rebase: You have unstaged changes» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.