Skip to content

Instantly share code, notes, and snippets.

@SeLub
Created February 3, 2026 08:29
Show Gist options
  • Select an option

  • Save SeLub/602bc05974c1975dca76da2c63632fdc to your computer and use it in GitHub Desktop.

Select an option

Save SeLub/602bc05974c1975dca76da2c63632fdc to your computer and use it in GitHub Desktop.

Git Stash: Полный справочник для профессиональной разработки

В процессе параллельной разработки нескольких фич или при срочном переключении контекста, git stash является ключевым инструментом для управления состоянием рабочей директории без создания лишних коммитов.

1. Базовые операции

Команда Описание
git stash Спрятать все отслеживаемые (tracked) изменения.
git stash -u Спрятать изменения, включая новые (untracked) файлы.
git stash list Вывод списка всех накопленных состояний с их индексами.

2. Инспекция содержимого

  • Просмотр списка файлов: git stash show stash@{n}
  • Полный diff (код): git stash show -p stash@{n}
  • Выход из режима просмотра: клавиша q или Ctrl+C.

3. Стратегии восстановления

  • Standard (Pop): git stash pop stash@{n} — применяет изменения и удаляет запись из стека.
  • Safe (Apply): git stash apply stash@{n} — только применяет код, сохраняя запись в стеке (рекомендуется при риске конфликтов).
  • Selective: git checkout stash@{n} -- <file_path> — извлечение конкретного файла из любого стэша.

4. Решение проблем: Стэш в новую ветку

Если код в стэше конфликтует с текущим состоянием проекта: git stash branch <new_branch_name> stash@{n} Создает ветку на базе нужного коммита, применяет туда стэш и удаляет его из списка.

5. Управление хранилищем

  • Именованный stash: git stash push -m "Feature: S3 integration"
  • Удаление записи: git stash drop stash@{n}
  • Полная очистка: git stash clear (использовать с осторожностью).

6. Визуализация

Использование кастомных промптов (например, Starship) визуализирует наличие данных в стеке символом [$], что предотвращает потерю накопленного контекста.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment