Git LinuxWindowsmacOS

Git: После git stash pop появились конфликты

  • Обновлено
  • Чтение ≈ 2 минуты

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

После git stash pop появляются маркеры конфликтов. При конфликте Git обычно сохраняет запись stash, поэтому повторный pop может повторно наложить те же правки.

В этой статье
  1. Как выглядит неисправность
  2. Причины и признаки
  3. Пошаговое устранение
  4. Как проверить результат
  5. Если проблема осталась

#Как выглядит неисправность

После git stash pop появляются маркеры конфликтов. При конфликте Git обычно сохраняет запись stash, поэтому повторный pop может повторно наложить те же правки.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Сохранённые изменения затрагивают те же строкиТекущая ветка изменилась после создания stashunmerged paths и конфликтные маркерыОбъединить нужные строки вручную
У stash был собственный индексСохранённые staged-изменения не совпали с текущим индексомОшибка применения --indexПроверить отдельные изменения в stash перед восстановлением

#Пошаговое устранение

  1. 1. Не повторяйте pop вслепуюОткройте терминал в репозитории, выполните git status и git stash list. При конфликте, как правило, stash@{0} остаётся в списке. Запишите его сообщение и не удаляйте запись.
  2. Чтение состояния; в PowerShell при адресации stash лучше заключать ссылку в кавычки
    Linux · Терминал (Bash)Команда
    Чтение состояния; в PowerShell при адресации stash лучше заключать ссылку в кавычки.
    git status
    git stash list
  1. 2. Посмотрите сохранённые измененияВыполните git stash show -p "stash@{0}" и проверьте, какие файлы и строки нужны. В выводе могут встречаться секреты; не публикуйте журнал. Если важен набор неотслеживаемых файлов, покажите его с соответствующим параметром --include-untracked.
  2. Показывает патч из stash, не меняет файлы
    Linux · Терминал (Bash)Команда
    Показывает патч из stash, не меняет файлы.
    git stash show -p "stash@{0}"
  1. 3. Получите список нерешённых файловКоманда git diff --name-only --diff-filter=U перечислит конфликтные пути. Откройте каждый, сравните секции <<<<<<<, =======, >>>>>>> с ожидаемой логикой и сохраните слитый результат. Если не понимаете, что оставить, используйте копии и обратитесь к владельцу изменений.
  2. Безопасная диагностика
    Linux · Терминал (Bash)Команда
    Безопасная диагностика.
    git diff --name-only --diff-filter=U
  1. 4. Завершите ручное разрешениеУдалите маркеры, запустите тест проекта, затем git add -- path/to/file для каждого исправленного файла. Для stash pop не нужно запускать git rebase --continue или git merge --continue: это не самостоятельный rebase/merge.
  2. Меняет индекс указанного файла; Git status должен не показывать unmerged paths
    Linux · Терминал (Bash)С осторожностью
    Меняет индекс указанного файла; Git status должен не показывать unmerged paths.
    git add -- path/to/file
    git status

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. 5. Убедитесь в сохранности stashСравните восстановленные правки через git diff --cached и git diff и проверьте git stash list. Только после подтверждения и сохранения важных изменений решайте, нужен ли старый stash; удаление — отдельное необязательное действие.
  1. 6. Если конфликтов слишком многоСоздайте копию рабочей папки с текущими правками. В копии всего репозитория вместе с его .git можно использовать git stash branch с сохранённой записью stash на исходной основе; убедитесь, что эта запись действительно существует в копии. Не делайте reset --hard в основном проекте.

#Как проверить результат

После исправлений git status не показывает unmerged paths, нужный код на месте, тесты проходят; stash оставлен до уверенности в сохранности данных.

#Если проблема осталась

Не повторяйте опасные действия на рабочем окружении. Сравните первоначальный симптом с новым состоянием, сохраните обезличенные сообщения и версии компонентов, проверьте резервную копию; перед изменением общей истории Git или данных/сети Docker обратитесь к ответственному администратору проекта.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.