Тестирование с неслившимися ветками
На предыдущих этапах мы увидели, как команда git branch --merged
показывает ветки, которые были полностью интегрированы. Теперь давайте посмотрим, что произойдет, если у нас есть ветка, которая не была объединена с текущей веткой.
Убедитесь, что вы находитесь в директории ~/project/my-time-machine
и на ветке master
. Вы можете проверить это с помощью команды git status
.
Создадим новую ветку с именем feature/add-farewell
и переключимся на нее:
git branch feature/add-farewell
git checkout feature/add-farewell
Вы должны увидеть вывод, указывающий, что вы переключились на другую ветку:
Switched to branch 'feature/add-farewell'
Теперь создадим новый файл и сделаем коммит в этой ветке:
echo "Farewell from the farewell branch!" > farewell.txt
git add farewell.txt
git commit -m "Add farewell file"
После коммита вы должны увидеть вывод, похожий на следующий:
[feature/add-farewell a1b2c3d] Add farewell file
1 file changed, 1 insertion(+)
create mode 100644 farewell.txt
Теперь вернемся в ветку master
:
git checkout master
Вы должны увидеть вывод, указывающий, что вы переключились на другую ветку:
Switched to branch 'master'
Теперь мы находимся на ветке master
, а ветка feature/add-farewell
содержит коммит, которого нет в ветке master
.
Давайте снова используем команду git branch --merged
:
git branch --merged
Вы должны увидеть вывод, похожий на следующий:
* master
feature/add-greeting
Обратите внимание, что feature/add-farewell
не перечислена в выводе. Это потому, что коммит, который мы сделали в ветке feature/add-farewell
, не был объединен с веткой master
.
Теперь используем команду git branch --no-merged
. Эта команда показывает ветки, которые не были объединены с текущей веткой.
git branch --no-merged
Вы должны увидеть вывод, похожий на следующий:
feature/add-farewell
В этом выводе правильно показана ветка feature/add-farewell
, так как она содержит коммиты, которых нет в ветке master
.
Команды git branch --merged
и git branch --no-merged
являются мощными инструментами для управления ветками. Они помогают вам отслеживать, какие ветки завершены и могут быть удалены, а какие ветки еще находятся в разработке и должны быть объединены.