Введение
В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, есть ли у Git-репозитория рабочее дерево (worktree). Мы рассмотрим концепцию рабочих деревьев Git, которые представляют собой дополнительные рабочие каталоги, связанные с одним и тем же репозиторием, и позволяют управлять несколькими ветками одновременно.
Вы будете использовать команду git worktree list для определения рабочих деревьев, связанных с вашим репозиторием. Вначале вы увидите только основное рабочее дерево. Повторно запустив команду, вы убедитесь в отсутствии дополнительных рабочих деревьев, тем самым заложив основу для понимания того, как управлять несколькими линиями разработки в рамках одного репозитория.
Запустите команду git worktree list
На этом этапе мы рассмотрим концепцию рабочих деревьев Git (worktrees) и узнаем, как их перечислить. Рабочее дерево представляет собой дополнительный рабочий каталог, связанный с одним и тем же репозиторием. Это позволяет одновременно иметь несколько веток в рабочем состоянии, что может быть очень полезно для многозадачности или одновременного тестирования различных функций.
Сначала перейдем в каталог нашего проекта, если вы еще не находитесь в нем. Откройте терминал и введите:
cd ~/project/my-time-machine
Теперь используем команду git worktree list, чтобы посмотреть текущие рабочие деревья, связанные с нашим репозиторием. Поскольку мы еще не создали дополнительных рабочих деревьев, эта команда покажет нам основное рабочее дерево.
git worktree list
Вы должны увидеть вывод, похожий на следующий:
/home/labex/project/my-time-machine a1b2c3d [master]
Этот вывод сообщает нам, что наше основное рабочее дерево находится по адресу /home/labex/project/my-time-machine, в данный момент оно находится на ветке master и указывает на определенный коммит (представленный хэшем коммита, который у вас будет другим).
Понимание рабочих деревьев важно, так как они предоставляют гибкий способ управления несколькими линиями разработки в рамках одного репозитория. В следующих шагах мы узнаем, как создавать и управлять этими дополнительными рабочими деревьями.
Проверьте наличие дополнительных рабочих деревьев
На предыдущем этапе мы использовали команду git worktree list и увидели только одну запись, которая представляет наше основное рабочее дерево. Это произошло потому, что мы еще не создали никаких дополнительных рабочих деревьев.
Подтвердим это, запустив команду еще раз и посмотрев на вывод. Убедитесь, что вы все еще находитесь в каталоге ~/project/my-time-machine.
cd ~/project/my-time-machine
git worktree list
Вывод должен по-прежнему показывать только одну строку, представляющую ваше основное рабочее дерево:
/home/labex/project/my-time-machine a1b2c3d [master]
Это подтверждает, что в настоящее время нет дополнительных рабочих деревьев, связанных с этим репозиторием. Команда git worktree list - простой, но мощный способ сразу увидеть все активные рабочие деревья. По мере создания новых рабочих деревьев в будущем эта команда станет все более полезной для управления различными средами разработки.
В следующих шагах мы узнаем, как создать новое рабочее дерево и посмотрим, как изменится вывод команды git worktree list.
Проверьте статус основного рабочего дерева
На этом этапе мы используем команду git status в рамках основного рабочего дерева, чтобы узнать его текущее состояние. Эта команда необходима для понимания, какие изменения есть в текущем рабочем каталоге и в области подготовленных изменений (staging area).
Убедитесь, что вы все еще находитесь в каталоге основного рабочего дерева:
cd ~/project/my-time-machine
Теперь запустите команду git status:
git status
Поскольку с момента последнего коммита в разделе "Your First Git Lab" мы не внесли никаких изменений, вывод должен показать, что рабочее дерево чистым:
On branch master
nothing to commit, working tree clean
Этот вывод подтверждает, что в нашем основном рабочем дереве нет ожидающих коммита изменений. Команда git status - это ваш главный инструмент для получения сводки о текущем состоянии репозитория. Она сообщает, на какой ветке вы находитесь, есть ли изменения, ожидающие коммита, и есть ли неотслеживаемые файлы.
В следующих шагах мы внесем изменения и создадим новые рабочие деревья, и вы увидите, как вывод команд git status и git worktree list отражает эти действия.
Резюме
В этом практическом занятии (лабораторной работе) мы научились проверять наличие рабочих деревьев Git с помощью команды git worktree list. Мы перешли в каталог нашего проекта и выполнили эту команду, заметив, что изначально был перечислен только основное рабочее дерево, что подтверждает отсутствие дополнительных рабочих деревьев. Эта команда необходима для определения и управления несколькими рабочими каталогами, связанными с одним Git-репозиторием.



