Сохранение позволяет сохранить копию изменений, внесенных вами в репозиторий, без необходимости создания коммита.

Это полезно, если вы переключаете контексты, особенно если вы переключаетесь между разными ошибками или задачами в одном и том же проекте.

Базовая операция git stash

Вы можете используйте git stash, чтобы упростить рабочий процесс при работе с параллельными направлениями работы. Представьте, что вы работаете над долговременной задачей с изменениями в вашей локальной рабочей копии. Затем возникает что-то срочное, над чем вам нужно немедленно поработать.

Стандартный рабочий процесс для сохранения изменений:

  1. Внесите локальные изменения
  2. Спрятать локальные изменения
  3. Повторно применить спрятанные изменения

Когда вы прячете изменения с помощью git тайник [нажать] команда, git сбрасывается в HEAD. Затем вы можете продолжить работу над тем, что вам нужно, внося изменения в репозиторий, как будто вы никогда не вносили первоначальные изменения.

Как только вы закончите с тем, что отвлекало вас в первую очередь, используйте

instagram viewer
git тайник поп чтобы применить ваши изменения и удалить их из тайника. Вы также можете применить свои изменения и сохранить их в тайнике с помощью git тайник применить. Это может быть полезно, если вы хотите быстро применить изменения к нескольким ветвям.

Работа с более чем одним тайником

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

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

stash@{0}: WIP на основном: 2fba62e первая фиксация
stash@{1}: WIP на основном: 2fba62e первая фиксация

Эти сообщения не очень полезны, но вы можете оставить некоторые подсказки для себя, добавив собственное сообщение, когда вы прячете:

git stash push -m "третий"

Когда вы перечислите сейчас, вы увидите свое собственное сообщение:

stash@{0}: на главном: третий
stash@{1}: WIP на основном: 2fba62e первая фиксация

Отображение различий между различиями

Чтобы узнать, что изменилось в тайнике, используйте git тайник показать. Без дополнительных аргументов он покажет сводку различий для последнего тайника, выглядящую так:

$ git тайник показать
README.md | 3 +++
1 файл изменен, 3 вставки(+)

Вы также можете передать идентификатор тайника для запроса конкретной записи:

git тайник показать тайник@{0}

Создание ветки из тайника

Вы можете решить, что изменения в тайнике настолько значительны, что заслуживают того, чтобы быть в отдельной ветке. Если так, создать новую ветку из тайника с помощью ответвляться команда:

ветка тайника git

Опять же, это будет работать с самым последним тайником по умолчанию, но при необходимости вы можете указать идентификатор тайника. Git создает новую ветку из той же точки репозитория, что и тайник. Затем он применяет изменения из тайника к вашей рабочей копии.

Очистка тайника

Команды «git unstash» нет. Если вы хотите удалить запись в тайнике, используйте drop:

git тайник уронить

Опять же, по умолчанию это последняя версия, но вместо этого вы можете указать идентификатор тайника. Если вы решили, что хотите избавиться от всего, что вы припрятали, используйте эту команду:

git тайник очистить

Используйте git stash для временных облегченных коммитов

Тайники Git далеко не так эффективны, как полные репозитории. Но они по-прежнему предлагают множество полезных функций сами по себе. Используйте тайники, если вам часто приходится переключаться между ветками посреди работы.

Сохранение — это лишь небольшая часть git, которая может многое предложить.