Тестирование несвязанных веток
На этом этапе мы создадим новую ветку и сделаем на ней коммит, который не основан на коммите, на который указывает наш тег v1.0
. Это поможет нам понять, как команда git branch --contains
работает с ветками, которые не содержат указанный коммит.
Сначала создадим новую ветку с именем feature-branch
.
git branch feature-branch
Теперь переключимся на эту новую ветку.
git checkout feature-branch
Вы должны увидеть вывод, указывающий, что вы переключились на другую ветку:
Switched to branch 'feature-branch'
Далее сделаем новый коммит на ветке feature-branch
. Создадим новый файл.
echo "This is a new feature" > feature.txt
git add feature.txt
git commit -m "Add new feature file"
После коммита вы должны увидеть вывод, похожий на следующий:
[feature-branch a1b2c3d] Add new feature file
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Теперь снова используем команду git branch --contains v1.0
. Помните, что тег v1.0
указывает на коммит в ветке master
, а наш новый коммит в ветке feature-branch
отличается.
git branch --contains v1.0
На этот раз вывод должен показать только ветку master
:
master
Ветка feature-branch
не отображается, так как она не содержит конкретный коммит, на который указывает тег v1.0
. Это демонстрирует, как команда git branch --contains
точно определяет, в каких ветках есть определенный коммит в их истории.
Это полезно, когда вы хотите узнать, был ли исправленный баг (помеченный версией) включен в релизную ветку, или была ли определенная функция (которая также может быть помечена тегом) объединена с различными линиями разработки.