Stash между коммитами
Тема дорожной карты · Изучи Git
Git stash — это мощный инструмент для временного сохранения незакоммиченных изменений, что позволяет вам сделать чистый коммит и затем вернуться к незавершённой работе. Это особенно полезно, когда вы работаете над несколькими задачами одновременно и хотите сохранить текущий прогресс, прежде чем переключиться на другую задачу. Использование git stash помогает поддерживать чистую и понятную историю коммитов, что делает ваш проект более управляемым и организованным.
Как это работает
Git stash временно сохраняет незакоммиченные изменения в вашем репозитории. Когда вы выполняете команду git stash, Git сохраняет все изменения в индексе и рабочей области, создавая временный коммит. Вы можете использовать git stash list, чтобы просмотреть все сохранённые стэши. Команда git stash pop применяет последний сохранённый стэк и удаляет его из списка, а git stash apply применяет изменения без удаления стэша из списка. Если вы хотите создать новую ветку из стэша, используйте команду git stash branch <name>.
Важно отметить, что git stash не включает в себя неотслеживаемые файлы по умолчанию. Чтобы сохранить и неотслеживаемые файлы, используйте опцию -u (например, git stash -u). Если вы хотите выбрать конкретные изменения для сохранения, используйте команду git stash push -p. Это позволит вам выбрать конкретные файлы или патчи для сохранения в стэше.
Когда применять
Git stash особенно полезен, когда вам нужно быстро переключиться на другую задачу или исправить критический баг, не теряя текущий прогресс. Например, если вы работаете над крупным проектом и вдруг обнаруживаете критическую ошибку, вы можете временно сохранить текущую работу с помощью git stash, сделать фиксированный коммит, а затем вернуться к сохранённой работе с помощью git stash pop.
Важно использовать сообщения для каждого стэша, чтобы вы могли легко идентифицировать их позже. Например, вместо использования шаблонного сообщения, такого как WIP on feature/foo, лучше использовать конкретные и информативные сообщения, такие как fix: critical bug in feature/foo.
Типичные ошибки
Одной из распространённых ошибок при использовании git stash является забывание о существовании стэша после его создания. Это особенно вероятно, если вы создали несколько стэшей и не сразу вернулись к ним. Если вы обнаружите, что не можете вспомнить, что было в определённом стэше, вы можете использовать команду git stash show -p, чтобы просмотреть изменения в стэше.
Другой распространённой ошибкой является использование команды git stash drop вместо git stash apply, что приводит к удалению стэша без возможности восстановления, если вы не сохранили изменения в reflog.