Тестирование с не "голым" репозиторием
На этом этапе мы создадим "голый" репозиторий и затем используем команды git rev-parse --is-bare-repository
и git rev-parse --is-inside-work-tree
внутри него, чтобы наблюдать разницу в выводе по сравнению с нашим не "голым" репозиторием.
Сначала перейдем обратно в директорию ~/project
:
cd ~/project
Теперь создадим новую директорию для нашего "голого" репозитория и инициализируем ее как "голую":
mkdir my-bare-repo.git
cd my-bare-repo.git
git init --bare
Вы должны увидеть вывод, похожий на следующий:
Initialized empty Git repository in /home/labex/project/my-bare-repo.git/
Обратите внимание на расширение .git
в имени директории. Это распространенная практика для "голых" репозиториев. Флаг --bare
сообщает Git создать репозиторий без рабочей директории.
Теперь, когда мы находимся внутри директории my-bare-repo.git
, запустим команду git rev-parse --is-bare-repository
:
git rev-parse --is-bare-repository
На этот раз вы должны увидеть вывод:
true
Это подтверждает, что этот репозиторий действительно "голый".
Далее, запустим команду git rev-parse --is-inside-work-tree
в этом "голом" репозитории:
git rev-parse --is-inside-work-tree
Вы не должны увидеть никакого вывода. Это потому, что "голый" репозиторий не имеет рабочего дерева, поэтому команда возвращает false
(что приводит к отсутствию вывода).
Сравнение выводов этого этапа и предыдущих этапов помогает проиллюстрировать ключевую разницу между "голыми" и не "голыми" репозиториями. "Голые" репозитории используются для обмена и совместной работы, в то время как не "голые" репозитории используются для разработки с рабочей копией файлов.
Теперь вы успешно использовали git rev-parse
для различения между "голыми" и не "голыми" репозиториями. Это фундаментальное понятие при работе с Git, особенно в командных окружениях.