TGViewer
DevOps Portal | Linux DevOps Portal | Linux @loose_code · 13.1K subscribers
Post #891 3.02K
🤓 Что такое git stash?

Git stash позволяет временно сохранить черновик ваших изменений, которые еще не были зафиксированы (committed), и вернуть рабочую директорию в чистое состояние. Это полезно, если вам нужно переключиться на другую задачу, но вы не хотите коммитить незавершенную работу.

— Как работает Git Stash?

Когда вы выполняете команду git stash, Git берет все незакоммиченные изменения из вашей рабочей директории и сохраняет их в специальном хранилище (stash) — по сути, это стек отложенных изменений. После этого все незакоммиченные изменения удаляются из рабочей копии, и она снова соответствует последнему коммиту (HEAD).

Сохраненные изменения остаются в отдельном месте, пока вы не будете готовы снова применить их. Это позволяет переключаться между ветками, получать обновления из удаленного репозитория, выполнять rebase и другие операции, не мешая текущей незавершенной работе.

— Рабочий процесс с Git Stash

🔹Сохранение изменений в stash
Перед тем как зафиксировать изменения в stash, сначала добавьте файлы в индекс, чтобы Git начал их отслеживать:
$ git add .

Если нужно сохранить только определенные файлы, укажите их при добавлении:
$ git add file.txt demo.txt
Затем создайте новый stash:
```bash
$ git stash

Эта команда сохранит ваши изменения и вернет рабочую директорию в состояние последнего коммита.

🔹Присвоение имени stash
Чтобы дать stash понятное название, используйте параметр -m:
git stash -m "<имя>"

Это поможет вам легче идентифицировать нужные сохраненные изменения позже.

🔹Просмотр списка stash'ей
Чтобы увидеть список всех сохраненных stash'ей, используйте:
$ git stash list

Для просмотра краткого описания stash'а выполните:
```bash
git stash show
Где <stash> — это идентификатор stash'а из списка git stash list.

🔹Применение stash'а
Когда вы готовы вернуть сохраненные изменения, используйте команду git stash pop:
git stash pop

Эта команда применяет изменения и удаляет stash из списка. Если вы хотите сохранить stash после применения, используйте:
git stash apply


🔹Применение конкретного stash'а
Чтобы применить stash, кроме последнего, используйте:
git stash apply <stash>

Или:
git stash pop --index <stash>

Где <stash> — идентификатор stash'а из git stash list. apply сохраняет stash, а pop удаляет его после применения.

🔹Создание новой ветки с stash'ем
Вы можете создать новую ветку и применить к ней изменения из stash'а:
git stash branch <branch-name> <stash>

Эта команда создаст новую ветку с изменениями из stash'а, привязанными к коммиту, в котором stash был создан.

🔹Удаление stash'ей
Когда stash больше не нужен, удалите его командой:
git stash drop <stash>

Это удаляет один stash. Чтобы удалить все stash'и, используйте:
git stash clear

После очистки stash'и невозможно будет восстановить.

🔹Дополнительные возможности
Git stash поддерживает множество дополнительных опций, включая возможность отправки stash'ей в удаленный репозиторий. Подробнее читайте в официальной документации.

— Когда использовать Git Stash?

Git stash полезен в следующих ситуациях:
🔹Переключение на другую ветку для получения обновлений
🔹Временное сохранение работы для исправления критической ошибки (hotfix)
🔹Разрешение конфликтов при выполнении git rebase
🔹Пауза в работе для слияния другой ветки в вашу

С помощью stash можно легко менять контексты работы без необходимости делать временные коммиты.

— Заключение
Git stash позволяет откладывать локальные изменения без коммитов, помогая гибко управлять рабочим процессом и переключаться между ветками. Это делает его важным инструментом для эффективной работы с Git.

👉 DevOps Portal
  • 👍 16
  • 🔥 7
  • ❤ 2
More from @loose_code
  1. Oct 1, 2026Обработка миллионов файлов – это та точка, где большинство распределённых систем хранения…
  2. Oct 1, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  3. Oct 1, 2026Docker 101: Как достучаться до контейнера без проброса порта Знали, что IP-адрес контейнер…
  4. Sep 30, 2026В этой статье разбирается, как спроектировать production-ready MCP-сервер для платформенны…
  5. Sep 30, 2026В этой статье объясняется, почему Ingress заменяют на Gateway API, за что на самом деле от…
  6. Sep 30, 2026Архитектура Argo CD: разбор К концу этого материала вы: Поймёте, как Argo CD реально работ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →