Тестирование пустого репозитория
На этом этапе мы исследуем, что происходит, когда вы запускаете команды git log
и git rev-list --count HEAD
в репозитории Git, в котором еще нет коммитов. Это поможет вам понять вывод, который вы видели в первой лабораторной работе при первом инициализации репозитория.
Сначала создадим новую пустую директорию и инициализируем в ней репозиторий Git. Убедитесь, что вы находитесь в директории ~/project
:
cd ~/project
mkdir empty-repo
cd empty-repo
git init
Вы должны увидеть сообщение, которое указывает на то, что пустой репозиторий Git был инициализирован:
Initialized empty Git repository in /home/labex/project/empty-repo/.git/
Теперь запустим команду git log
в этом пустом репозитории:
git log
Вы увидите вывод, похожий на следующий:
fatal: your current branch 'master' does not have any commits yet
Это сообщение четко говорит, что происходит: в текущей ветке (master
) нет коммитов. Команда git log
требует наличия коммитов для отображения истории, поэтому она сообщает, что нечего показать.
Далее попробуем команду git rev-list --count HEAD
:
git rev-list --count HEAD
На этот раз вывод будет таким:
0
Это логично! Поскольку нет коммитов, количество коммитов, достижимых из HEAD
, равно нулю.
Сравнение вывода этих команд в пустом репозитории и в нашем репозитории my-time-machine
(в котором есть один коммит) помогает закрепить ваше понимание того, что эти команды делают. Команда git log
показывает детали коммитов, а git rev-list --count
дает простой подсчет. Обе команды точно отражают состояние истории репозитория.
Теперь вы можете удалить директорию empty-repo
, так как нам она не понадобится в следующих шагах:
cd ~/project
rm -rf empty-repo