Git Stash
Я прямо влюбился в команду stash от git
Команда git stash предназначена для того, чтобы поместить текущие изменения в отдельное хранилище и вернуть файлы к исходному состоянию. То есть git stash прячет изменения в файлах и сохраняет эти изменения отдельно, чтобы потом можно было их вернуть.
Сохранение изменений
git stash save "description of stash"
… создать stash с человекопонятным описанием этого stash - чтобы можно было через день, глядя на него, догадаться вообще, что это такое и зачем оно делалось.
git stash -u save "description of stash"
… создать stash с изменениями, которые еще unstaged. Иначе они просто не попадут в снимок stash.
git stash branch newAwesomeBranch
… создание новой ветки из stash@{0}. Важный момент - чтобы изменения попали с новую ветку, они должны сначала быть помещены в stash@{0}.
git stash branch newAwesomeBranch stash@{1}
… поместить изменения из конктерного stash@{1} в новую ветку newAwesomeBranch.
git stash -p
… выборочное сохранение измененых файлов. Запускается пошаговый мастер, который будет последовательно спрашивать - помещать измененый файл в stash или нет.
Показ сохраненных изменений
git stash show
… показать, какие файлы изменены. Краткая справка, которая просто показывает, где были изменения и в каких файлах.
git stash show stash@{1}
… показать краткие изменения в конкретном stash.
git stash show -p stash@{1}
… показать изменения в файле. Можно увидеть в файле, что было добавлено или удалено.
git stash list
… показать список всех снимков stash. Причем, снимок с номером stash@{0} - это самый последний по времени снимок stash. Дальше - понарастающей - чем больше номер, тем раньше по времени он был сделан.
Удаление сохраненных изменений
git stash drop stash@{1}
… удалить определенный снимок stash@{1}.
git stash drop
… удалить последний снимок stash@{0}.
git stash clear
… удалить все изменения stash.
Применение сохраненных изменений
git stash apply
… применить последний по времени снимок stash.
git stash apply stash@{2}
… применить конкретный снимок stash.
git stash pop
… сокрещение от двух команд - apply и drop - применяет и автоматически удаляет после применения последний снимок stash - stash@{0}.
git stash pop stash@{2}
… сокрещение от двух команд - apply и drop - применяет и автоматически удаляет после применения конкретный снимок stash - stash@{2}.