Проверка нескольких веток
На этом этапе мы создадим новую ветку (branch) и посмотрим, как работает команда git branch --contains
, когда коммит (commit) присутствует в нескольких ветках. Это дополнительно продемонстрирует мощь этой команды при понимании структуры ветвления проекта.
Сначала убедитесь, что вы находитесь в директории ~/project/my-time-machine
:
cd ~/project/my-time-machine
Теперь создадим новую ветку с именем feature-branch
:
git branch feature-branch
Эта команда создает новую ветку, но не переключает вас на нее. Вы по-прежнему находитесь на ветке master
.
Давайте проверим наши ветки:
git branch
Вы должны увидеть перечисление обеих веток, при этом master
будет подсвечена (что означает, что это текущая ветка):
* master
feature-branch
Теперь снова получим идентификатор (ID) нашего последнего коммита с помощью команды git log --oneline
:
git log --oneline
Вывод будет похож на предыдущий:
<commit-id-2> (HEAD -> master, feature-branch) Add another message
<commit-id-1> Send a message to the future
Обратите внимание, что в последнем коммите теперь показаны и HEAD -> master
, и feature-branch
. Это означает, что ветка feature-branch
была создана на этом коммите.
Теперь снова используем команду git branch --contains
с этим идентификатором коммита. Замените <commit-id-2>
на фактический идентификатор коммита:
git branch --contains <commit-id-2>
На этот раз вывод должен показать обе ветки, так как коммит присутствует в истории как ветки master
, так и ветки feature-branch
:
* master
feature-branch
Это демонстрирует, как команда git branch --contains
может показать все ветки, в истории которых есть определенный коммит. Это чрезвычайно полезно для отслеживания того, где изменения были объединены или интегрированы в разных линиях разработки.