Другое

Команда Git Stash: определение, виды, применение и как использовать

Lorem ipsum dolor

Начинающие пользователи Git-систем часто ищут описание команды «git stash», не понимая, что означает эта команда и как ею пользоваться. Команда «git stash» нужна для того, чтобы временно скрыть текущие изменения в Git-репозитории. Причем изменения скрываются в отдельном хранилище, а не в файлах исходного кода. У вас всегда будет возможность вернуться к этим изменениям и доработать их.

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

Описание команды «git stash»

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

В этом случае вы при помощи команды «git stash» прячете изменения из первой ветки. Они прячутся в отдельном хранилище, не влияющем на ветки репозитория. Таким образом, вы переключаетесь на новую ветку, а к спрятанным изменениям возвращаетесь, когда вам удобно.

Описание применения команды «git stash» и ее производных

От команды «git stash» образуется несколько других производных команд, которые выполняют то же самое, но с небольшими полезными опциями. Давайте разберем несколько вариантов «сокрытия» изменений в репозитории. Например:

  1. Команда «git stash». Просто скрывает изменения без всяких опций.

  2. Команда «git stash save». Выполняет то же самое, что и в первом случае, однако позволяет подписать изменения небольшим сообщением. Это полезно, если вы планируете «скрыть» изменения надолго. При помощи небольшого описания вам легче будет вспомнить, что вы там изменили. Это выглядит так: git stash save «Здесь будет описание изменений».

  3. Команда «git stash list». Эта команда поможет вам «вспомнить» все ваши «скрытые» изменения. К примеру, вы их сделали несколько штук и уже могли забыть о них. Команда «git stash list» выведет список всех «сокрытий». Причем те, что «посвежее», будут располагаться выше по списку.

  4. Команда «git stash apply». При помощи этой команды вы можете ваше последнее «сокрытие» применить к репозиторию. Другими словами, если вы хотите «обнародовать» ваше последнее сокрытие, тогда применяйте эту команду. Если нужно «обнародовать» не последнее обновление, а какое-то из списка, значит, к команде нужно задать индекс «сокрытия». Самое последнее имеет индекс «0». Команда может выглядеть так: git stash apply@{2}. Эта команда «обнародует» третье «сокрытие», если оценивать по старшинству.

  5. Команда «git stash pop». Эта команда выполнит то же самое, что и «git stash apply». Однако при добавлении «скрытого изменения» в репозиторий она удаляет его из места «сокрытия», а «git stash apply» этого не делает.

  6. Команда «git stash show». При помощи этой команды можно посмотреть, какие изменения присутствуют в последнем «скрытом коде». Презентует изменения, которые относятся к последнему «сокрытию».

  7. Команда «git stash branch <название новой ветки>». При помощи этой команды извлекается последнее «сокрытие», и из него создается отдельная ветка проекта. Причем из «сокрытия» код удаляется.

  8. Команда «git stash drop». При помощи этой команды удаляется самое последнее «сокрытие». Если указать идентификатор «сокрытия», тогда можно удалить любое из списка, согласно идентификатору.

  9.  Команда «git stash clear». При помощи этой команды удаляются все существующие «сокрытия».

Заключение

Мы подготовили это короткое описание команды «git stash», чтобы вам было легче ее использовать. Команда «git stash»ъъ  это важный инструмент при работе с Git-репозиториями. В процессе работы над кодом важно уметь пользоваться ею, а также ее производными.

Схожие статьи

Разработка вопросов безопасности в проектах: от книги до практики
Другое

Разработка вопросов безопасности в проектах: от книги до практики

Поиск кратчайшего пути в графе C: кратчайшие алгоритмы решения задачи
Другое

Поиск кратчайшего пути в графе C: кратчайшие алгоритмы решения задачи

Регулярные выражения C, Java, PHP, JS, Excel: зачем они используются?
Другое

Регулярные выражения C, Java, PHP, JS, Excel: зачем они используются?

Простой скрипт сокращения ссылок на языке программирования PHP
Другое

Простой скрипт сокращения ссылок на языке программирования PHP