Git stash – полезная функция git, когда пользователю git необходимо переключиться из одного рабочего каталога в другой рабочий каталог для исправления любой проблемы, а измененные файлы текущего рабочего каталога необходимо сохранить перед переключением. Слэш Git хранит все измененные отслеживаемые, неотслеживаемые и проигнорированные файлы и помогает пользователю при необходимости получить измененный контент. Это позволяет пользователю git сохранять изменения, которые могут потребоваться в будущем, и помогает пользователю быстро очистить текущий рабочий каталог. По умолчанию он сохраняет незафиксированные изменения отслеживаемых файлов и пропускает неотслеживаемые и проигнорированные файлы. Но иногда требуется сохранить неотслеживаемые файлы. Не отслеживаемые файлы можно разрезать, используя параметр –include-untracked команды git stash и добавить команду git. В этой статье показано, как эти команды можно использовать для сохранения неотслеживаемых файлов в git.
Предварительные условия
Установка GitHub Desktop
GitHub Desktop помогает пользователю git выполнять задачи, связанные с git, графически. Вы можете легко скачать установщик последней версии этого приложения для Ubuntu с github.com. Вы должны установить и настроить это приложение после загрузки, чтобы использовать его. Вы также можете проверить руководство по установке GitHub Desktop в Ubuntu, чтобы правильно узнать процесс установки.
Создание учетной записи GitHub
Вам потребуется создать учетную запись GitHub для публикации любого локального репозитория.
Создание локального репозитория.
Вы должны создать локальный репозиторий с одним или несколькими файлами и папками, чтобы проверить команды, используемые в этой статье для хранения неотслеживаемых файлов.
Инициализировать репозиторий git
Перейдите в папку локального репозитория из терминала и выполните следующую команду для инициализации локального репозитория.
$ git init
Добавить файл в репозиторий
Выполните следующую команду, чтобы добавить файл basic.py в репозиторий.
$ git add basic.py
Проверьте отслеживаемый и неотслеживаемый файл
Запустите команду «ls», чтобы проверить список всех файлов и папок в папке локального репозитория.
$ ls
Запустите команду «git commit», чтобы проверить отслеживаемые и неотслеживаемые файлы:
$ git commit
Следующий вывод показывает, что папка репозитория содержит два файла. Это basic.py и test.py. basic.py добавляется в репозиторий раньше. Итак, basic.py – это отслеживаемый файл, а test.py – неотслеживаемый файл соответственно.
Храните неотслеживаемые файлы с помощью «git stash»
Измененные неотслеживаемые файлы можно сохранить с помощью команды «git stash» двумя разными способами. Один из способов – использовать параметр –include-untracked с командой «git stash». Другой способ – использовать параметр -u с командой «git stash». Использование этих опций показано ниже.
a) Использование опции –include-untracked
Выполните следующие команды, чтобы проверить список файлов и папок в папке репозитория. Сохраните неотслеживаемые файлы и снова проверьте список файлов и папок в папке репозитория. Здесь команда «ls» используется для отображения списка файлов и папок в папке репозитория, а команда «git stash –include-untracked» используется для сохранения неотслеживаемых файлов.
$ ls $ git stash --include-untracked $ ls
Следующий вывод показывает, что папка репозитория содержит два файла с именами basic.py и test.py перед выполнением команды «git stash». Здесь basic.py – это отслеживаемый файл, а test.py – неотслеживаемый файл. Неотслеживаемый файл удаляется из папки репозитория после выполнения команды «git stash».
b) Использование опции -u
Выполните следующие команды, чтобы проверить отслеживаемые и неотслеживаемые файлы репозитория. Сохраните неотслеживаемые файлы и снова проверьте список файлов и папок в папке репозитория. Здесь команда «git ls-files» используется для отображения списка отслеживаемых файлов, команда ls используется для отображения списка файлов и папки папки репозитория, а команда «git stash -u» используется используется для сохранения неотслеживаемых файлов.
$ git ls-files $ ls $ git stash –u $ ls
Следующий вывод показывает, что папка репозитория содержит два файла с именами basic.py и test.py перед выполнением команды «git stash». Здесь basic.py – это отслеживаемый файл, а test.py – неотслеживаемый файл. Неотслеживаемый файл удаляется из папки репозитория после выполнения команды «git stash -u».
Храните неотслеживаемые файлы с помощью «git add»
Не отслеживаемые файлы репозитория можно сохранить без использования параметра –include-untracked или -u команды «git stash». Вы должны добавить неотслеживаемые файлы репозитория с помощью команды «git add» и запустить команду «git stash», чтобы сохранить неотслеживаемый файл и очистить текущий каталог для работы, удалив неотслеживаемый файл из папки репозитория.
$ git ls-files $ ls $ git add new.py $ git slash $ ls
Следующий вывод показывает, что список отслеживаемых и неотслеживаемых файлов в текущем репозитории аналогичен предыдущим командам сохранения неупакованного файла. Неотслеживаемый файл удаляется из папки репозитория после выполнения команды «git stash».
Получить спрятанный файл
Существует еще одна команда git для восстановления сохраненных неотслеживаемых файлов в папке репозитория при необходимости. Выполните следующую команду, чтобы проверить список файлов и папок в текущей папке репозитория и восстановить ранее сохраненные неотслеживаемые файлы в папке репозитория. Здесь команда «ls» используется для отображения списка файлов и папок в папке репозитория, а команда «git stash apply» используется для восстановления неотслеживаемых файлов.
$ ls $ git slash apply $ ls
Следующие выходные данные показывают, что в репозитории есть один отслеживаемый файл, и после выполнения команды «git stash apply» неотслеживаемый файл, который был спрятан до этого, восстанавливается в папке репозитория.
Заключение
В этой статье описаны различные способы сохранения неотслеживаемых файлов и очистки текущего каталога репозитория с помощью команды «git stash». Здесь также было показано, как восстановить неотслеживаемые файлы с помощью команды «git stash». Концепция отслеживаемых и неотслеживаемых файлов и способ хранения неотслеживаемых файлов в git будут понятны для пользователей git после прочтения этого руководства.