How to save temporarily changes in GIT using git stash (without committing)

Поделиться
HTML-код
  • Опубликовано: 28 июн 2024
  • Друзья, продолжаем неделю git! Это второе видео из нашей серии и оно про git stash - одну из самых часто используемых мною лично команд.
    Когда ею пользуются: например, вы начали разрабатывать какую-то фичу и уже поменяли много файлов, но сделать коммит еще не готовы, а вам срочно необходимо переключиться в другую ветку. Git не даст вам переключиться до тех пор, пока у вас есть незакоммиченные изменения в рабочей директории. В таких случая на помощь приходит git stash. Это временное хранилище для ваших изменений.
    В отличии от обычного буфера, к которому мы все привыкли, с git stash вы много раз можете "вырезать" ваши последние изменения и сохранить их в stash, как на "полочках". А потом, когда вы будете готовы продолжить работу - просто взять нужные отложенные ранее изменения с "полочки" (по id) и "вставить" их в рабочую директорию.
    👍Надеюсь, этот урок будет вам полезен и сохранит много рабочего времени!
    👍Поделитесь обязательно этим видео с вашими коллегами и друзьями!
    👍И поставьте нам красивый лайк для вдохновения!
    ⏱ Таймкоды:
    00:00 Intro git week
    00:26 Ситуация когда необходимо временно сохранить изменения
    00:47 Что такое git stash
    02:16 Посмотреть список stash'ей
    03:20 Применение изменений с помощью git stash apply
    04:28 Зачем нужен git stash pop
    05:38 Как сохранить stash с кастомным именем
    07:10 Как достать из stash только один файл
    08:09 Как положить в stash не отслеживаемые файлы
    09:02 Как добавить в stash и новые и игнорируемые файлы
    09:27 Про следующую тему
    🤓 Мои алиасы для git:
    st = status
    b = branch
    ci = commit -a
    co = checkout
    prom = pull --rebase origin master
    lol = log --graph --decorate --pretty=oneline --abbrev-commit
    Смотрите также другие видео из этой серии:
    ✅Git reset: как различить soft, mixed и hard: • Git reset: как различи...
    👍🤩 Будем благодарны за поддержку нашего канала на Патреоне: / frontendscience
    ---
    Если видео было для вас полезным, ставьте лайк и поделитесь им с друзьями.
    Подписывайтесь на наш канал: bit.ly/fs-ytb
    ---
    Присоединяйтесь к нам в соцсетях:
    FB: / frontendscience
    Instagram Сергея Пузанкова: / puzankovcom
    Заходите на наш сайт: frontend-science.com/

Комментарии • 56

  • @ryskin82
    @ryskin82 2 года назад +11

    Все так понятно по git объясняете и практически применимо сразу. Спасибо за контент.

  • @YanasChanell
    @YanasChanell 2 года назад +3

    На работе научили git stash и git stash pop, потом уже научилась не только верхний стал вытаскивать. Про имя для сташа не знала, и что прям отдельный файл можно вытаскивать - тоже. Хорошая штука, пригодится

    • @frontendscience
      @frontendscience  2 года назад

      Благодарю, что поделились

  • @BohdanLevishchev
    @BohdanLevishchev 2 года назад +5

    Крутая команда git. У меня как раз имеется сценарий при котором эта команда очень пригодится) Спасибо) Век живи - век учись!)

    • @frontendscience
      @frontendscience  2 года назад +1

      Очень рад что было полезно

  • @thomastrenker4183
    @thomastrenker4183 2 года назад +4

    Вовремя я зашёл посмотреть задачки с литкод )

  • @anatoliy9696
    @anatoliy9696 Год назад

    Очень круто, большое спасибо вам !

  • @ngrischenko
    @ngrischenko 2 года назад +3

    Регулярно пользуюсь, а из видео очень понравился use-case с сохранением всяких временных модификаций в конфиги или, например, модификаций лог-левела.
    Спасибо!

  • @user-uu8rt4tf7l
    @user-uu8rt4tf7l 2 года назад +2

    Теперь по ходу буду пользоваться :)

  • @HIghtowerSever
    @HIghtowerSever 2 года назад +3

    Годненько. Спасибки. ;)

  • @dzmitry7334
    @dzmitry7334 2 года назад +2

    git stash - это ужас для новичка. Очень доступно разложено по полочкам в видео!

  • @Nuts_Cracker
    @Nuts_Cracker 2 года назад +1

    Спасибо! Добавлено в избранное!

  • @flogger2367
    @flogger2367 2 года назад

    Как я понял самый последний stash всегда нулевой, т.к. это стэк, то последний всегда сверху и первый на выход...Видео полезное, как весь твой канал... Спасибо за обучение

  • @JenechekDv
    @JenechekDv 2 года назад +1

    Главное в git stash это сначала применить изменения из стэша, а только потом его почистить.

  • @user-tb3mm6dl3z
    @user-tb3mm6dl3z 2 года назад

    Музыка прикольная 😎😎😎😎👍

  • @maxdudniev
    @maxdudniev 2 года назад

    git-guru👍

  • @TheProfessionalGambler
    @TheProfessionalGambler 2 года назад

    Почти каждый день пользуюсь, только приучил использовать git stash apply, вместо pop. Очистить стэш всегда успею, а вот повторно применить бывает полезно)

    • @frontendscience
      @frontendscience  2 года назад +1

      Главное тогда себе поставить какой-то день раз в недели или две и чистить стэши, чтоб не накапливались старые и ненужные)

  • @m-fusion
    @m-fusion 2 года назад

    Активно пользуюсь git stash. Последнее время чаще стал использовать с сохранением имени.
    Правда узнал, что git stash save был deprecated.
    Сейчас надо использовать git stash push -m stashname.

  • @nicholasthe2
    @nicholasthe2 Год назад

    А как посмотреть содержимое какого-либо из стешей? У меня на боевом сайте настроен автодеплой при пуше в мастер ветку. Сначала вызывается git stash -u, потом git fetch && git reset --hard origin/master . Таким образом спустя год образуется несколько десятков стешей. И тут кто-то просит восстановить какой-то конкретный файл из стеша. Для этого мне его надо найти, а значит посмотреть содержимое нескольких стешей. Как это можно сделать?

  • @semensemenoff5954
    @semensemenoff5954 Год назад

    классное объяснение!!

  • @arkdzo
    @arkdzo 2 года назад

    Отличное видео, спасибо! Что делать, если в несколько стешей попал один и тотже файл и при попытке git stash apply 1 пишет про merge конфликт, какой командой решается мердж конфликт?

    • @frontendscience
      @frontendscience  2 года назад

      Как стандартный конфликт решается - вручную проверяется/правится файл. Потом git add file.

  • @lostsouls3151
    @lostsouls3151 2 года назад

    Музыка на фоне просто огонь. Можно пожалуйста название?)

    • @frontendscience
      @frontendscience  2 года назад +1

      Blue Wednesday - Apple pies & Butterflies 🦋

    • @lostsouls3151
      @lostsouls3151 2 года назад

      @@frontendscience спасибо!)

    • @frontendscience
      @frontendscience  2 года назад

      @@lostsouls3151 пусть на радость! )

  • @ramach6552
    @ramach6552 2 года назад

    почему, когда убираешь в стэш файлы, которые уже промежуточно зафиксированы командой 'git add ...', при их возврате из стэша, они появляются в незафиксированных?
    и опять приходится проделывать git add((

    • @frontendscience
      @frontendscience  2 года назад

      Наверное чтобы ты четко контролировал что именно будет закомичено. После того как ты убрал файлы в стеш ты же можешь сделать еще разных изменений или вообще перейти в другую ветку. Поэтому возвращая файлы из стеша надо заново собрать "корзину" - стейдж

  • @user-gq3zw5ob3v
    @user-gq3zw5ob3v 2 года назад

    пользуюсь, но не на таком уровне))

  • @skynowa2626
    @skynowa2626 2 года назад +1

    стЭш

    • @frontendscience
      @frontendscience  2 года назад +1

      Да и не говори! А с гьорл и бьорд вообще ужс - никак не переучусь

  • @vadim2639
    @vadim2639 2 года назад

    Ти якусь таку хрінь розказуєш, яка само собой пізнається, як тільки відкрив будь який git gui

    • @nerrisy8839
      @nerrisy8839 2 года назад

      Ну почему. У меня завтра сдача, можно сказать, экзамена по git в компании, и мне этот stash на практике никогда не нужен был, и я не знала о его существовании, а тут оказывается даже удобная штука. Когда читаешь статьи про всякие команды, не в каждой рассмотрится та или иная ситауция или команда.

    • @vadim2639
      @vadim2639 2 года назад

      @@nerrisy8839 в компанії здають екзамени? нонсенс

    • @nerrisy8839
      @nerrisy8839 2 года назад

      @@vadim2639 Ну вот такие вот мы уникальные 😄😄😄

    • @frontendscience
      @frontendscience  2 года назад

      Чуєш, ми тут хамло не любимо. Прикинь, а хтось навіть гуглить, як вийти із віма. То що ти щось знаєш, не означає, що інші це теж автоматично знають. Тобі не треба - проходь собі, Дартаньянчик.

    • @vadim2639
      @vadim2639 2 года назад

      @@frontendscience в гіті є набагато важливіші речі про які треба знімати відео