Что делает команда git stash

Ответ

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

Основные команды:

  • git stash — сохранить изменения
  • git stash pop — вернуть последние изменения и удалить их из stash
  • git stash list — показать список сохранённых stash'ей
  • git stash apply — применить изменения без удаления из stash

Пример:

# Изменяем файлы, но не коммитим
git stash      # сохраняем изменения
git checkout other-branch
# работаем в other-branch
git checkout main
git stash pop  # возвращаем изменения

Ответ 18+ 🔞

Да ты посмотри, какой хитрожопый инструмент придумали! Прям как волшебный ящик для программистского бардака. Вот сидишь ты, ковыряешь код, уже на полпути к тому, чтобы всё сломать, а тебе срочно надо перепрыгнуть на другую ветку. И коммитить эту недоделанную хуйню неохота, правда? Так вот, git stash — это твой спасательный круг, ёпта!

Он берёт всю эту кашу из изменённых файлов, которая ещё не закоммичена, и аккуратненько, блядь, складывает в сторонку. Всё! Рабочая папка чистая, как слеза младенца. Можешь хоть на Луну переключиться.

А основные команды — проще пареной репы, ей-богу:

  • git stash — это как крикнуть «Спрячь это нахуй, пока никто не увидел!». Всё сохранено.
  • git stash pop — а это «Верни моё добро, сука!». Достаёт последнее спрятанное и удаляет из тайника.
  • git stash list — «Так, что у меня тут по углам валяется?». Показывает список всех твоих схронов.
  • git stash apply — «Дай-ка я это примерю, но пусть пока тут полежит». Применяет изменения, но не удаляет из stash.

Смотри, как это в жизни выглядит, на простом примере:

# Допустим, ты накосячил в паре файлов, но это гениальный косяк
git stash      # Шшш! Ни слова! Всё в тайник.
git checkout other-branch # Перескакиваешь на другую ветку, чисто как кот
# Делаешь там свои делишки
git checkout main # Возвращаешься на основную
git stash pop  # И — оп! — твои наработки, как ни в чём не бывало, вернулись. Магия, блядь!

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