5 Git stash | nsws.ru
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.

Git stash

Временами при работе с git одновременно нескольких человек возникают не очень красивые записи в журнале:
 
Эти строки не несут особенно большого объема информации. Так, к примеру, посмотрев данный коммит в git-web мы не увидим никакой информации об измененных файлах. Такая ситуация возникает когда вы делаете git pull в вашей рабочей копии репозитория, в которую внесены изменения, при этом происходит авто слитие кода.
Для борьбы с такими записями существует специальная команда – git stash.

Команда git stash созраняет все не закомиченные изменения во временное хранилище (карман) и сбрасывает состояние ветки до HEAD.

  • git stash – добавить текущие незакоммиченные изменения в стек изменений и сбросить текущую рабочую копию до HEAD’а репозитория;
  • git stash list – показать все изменения в стеке;
  • git stash show – показать последнее измененеие в стеке (патч);
  • git stash apply – применить последнее изменение из стека к текущей рабочей копии;
  • git stash drop – удалить последнее изменение в стеке;
  • git stash pop – применить последнее изменение из стека к текущей рабочей копии и удалить его из стека;
  • git stash clear – очистить стек изменений.

То есть фактически необходимо вызвать следующую последовательность команд:
 
git stash drop