Stash - The Smart Way to Save
Stash (концепция накопления) - это механизм git для временного сохранения изменений в рабочем дереве без коммита, что позволяет исправить ошибки и переключаться на другую ветку без сохранения временного промежуточного состояния репозитория.
Пример использования:
1. Создание новой ветки:
$ git checkout -b new-branch
2. Изменение файла:
$ vi index.html
3. Необходимо сохранить изменения, но не хотим делать commit:
$ git stash save "Changes to index.html"
Saved working directory and index state WIP on new-branch: 44d427a Changes to index.html
4. Возврат к предыдущей ветке:
$ git checkout master
5. Применение сохраненных изменений из stash:
$ git stash apply
On branch master
Changes to be committed:
modified: index.html
6. Возврат к ветке, где были сохранены изменения:
$ git checkout new-branch
7. Удаление сохраненных изменений из stash:
$ git stash drop
Dropped refs/stash@{0} (d123456789012345678901234567890123456789)
Таким образом, механизм stash очень удобен для сохранения временных изменений в git репозитории без делания коммитов на каждое исправление. Возможности сохранять/восстанавливать/удалять stash делают git еще более гибким инструментом для разработчиков.