Git stash — полезная функция git, когда пользователю git необходимо переключиться из одного рабочего каталога в другой рабочий каталог для исправления любой проблемы, а измененные файлы текущего рабочего каталога необходимо сохранить перед переключением. Слэш Git хранит все измененные отслеживаемые, неотслеживаемые и проигнорированные файлы и помогает пользователю при необходимости получить измененный контент. Это позволяет пользователю git сохранять изменения, которые могут потребоваться в будущем, и помогает пользователю быстро очистить текущий рабочий каталог. По умолчанию он сохраняет незафиксированные изменения отслеживаемых файлов и пропускает неотслеживаемые и проигнорированные файлы. Но иногда требуется сохранить неотслеживаемые файлы. Не отслеживаемые файлы можно разрезать, используя параметр –include-untracked команды git stash и добавить команду git. В этой статье показано, как эти команды можно использовать для сохранения неотслеживаемых файлов в git.
GitHub Desktop помогает пользователю git выполнять задачи, связанные с git, графически. Вы можете легко скачать установщик последней версии этого приложения для Ubuntu с github.com. Вы должны установить и настроить это приложение после загрузки, чтобы использовать его. Вы также можете проверить руководство по установке GitHub Desktop в Ubuntu, чтобы правильно узнать процесс установки.
Вам потребуется создать учетную запись GitHub для публикации любого локального репозитория.
Вы должны создать локальный репозиторий с одним или несколькими файлами и папками, чтобы проверить команды, используемые в этой статье для хранения неотслеживаемых файлов.
Перейдите в папку локального репозитория из терминала и выполните следующую команду для инициализации локального репозитория.
$ 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» двумя разными способами. Один из способов — использовать параметр –include-untracked с командой «git stash». Другой способ — использовать параметр -u с командой «git stash». Использование этих опций показано ниже.
Выполните следующие команды, чтобы проверить список файлов и папок в папке репозитория. Сохраните неотслеживаемые файлы и снова проверьте список файлов и папок в папке репозитория. Здесь команда «ls» используется для отображения списка файлов и папок в папке репозитория, а команда «git stash –include-untracked» используется для сохранения неотслеживаемых файлов.
$ ls $ git stash --include-untracked $ ls
Следующий вывод показывает, что папка репозитория содержит два файла с именами basic.py и test.py перед выполнением команды «git stash». Здесь basic.py — это отслеживаемый файл, а test.py — неотслеживаемый файл. Неотслеживаемый файл удаляется из папки репозитория после выполнения команды «git stash».
Выполните следующие команды, чтобы проверить отслеживаемые и неотслеживаемые файлы репозитория. Сохраните неотслеживаемые файлы и снова проверьте список файлов и папок в папке репозитория. Здесь команда «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».
Не отслеживаемые файлы репозитория можно сохранить без использования параметра –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 после прочтения этого руководства.