В предыдущей статье мы рассмотрели процесс разрешения конфликтов при объединении веток. Это ситуация, когда изменения, внесённые в одну ветку, конфликтуют с изменениями, сделанными в другой ветке, и Git не может автоматически разрешить этот конфликт. Мы изучили, как анализировать и разрешать такие конфликты, чтобы успешно объединить изменения.
Сегодня разберём момент, когда у нас 2 проекта на двух разных ветках отличаются немного логикой, но в основном они одинаковы. Пока звучит не очень понятно, давайте разбирать.
Различие в проектах
Мы с вами внесли изменения в запуск самих тестов
Настройка нужна для запуска тестов на удалённом сервере, например, через систему непрерывной интеграции и доставки (CI/CD). Однако удобнее запускать тесты на своём компьютере через браузер. Не придётся ли полностью менять логику запуска?
В нашем проекте всего пара классов, и мы можем за пару минут изменить инициализацию браузера. В более крупных проектах такие изменения были бы критичными. Как же поступить?
- Давайте для начала переключимся на другую ветку и заменим запуск тестов через браузер на ПК
- Запустим любой тест, просто чтобы убедиться в работоспособности
- Давайте напишем комит нашим изменениям и сразу запушим их в GitHub
- Проверим сразу изменения. Всё ок!
Объединение разных веток
Теперь ветка master запускается через наш ПК. Мы, как тестировщики, пишем новые автотесты, вносим изменения в проект, и после этого нам нужно отправить только эти новые тесты.
Как мы помним из прошлой статьи, если мы просто отправим изменения в другую ветку, то вместе с тестами отправятся и изменения по запуску браузера.
- Заупушим изменения в нашу ветку
- Далее переключаемся на ветку, где настроен запуск через Docker
Нажимаем правой кнопкой миши по ветке, из которой мы хотим взять нужные изменения и нажимаем Compare with 'NewFile'
- У нас отобразятся последние комиты по ветке master
- Нам нужен только тот где мы добавили нужный тест. Нажимаем на него правой кнопкой мыши и выбираем Cherry-Pick
- Могут появиться конфликты, мы их умеем уже решать
- После отобразится отдельное окно комита, то есть те изменения, которые отправятся в нужную ветку
- Можете выбрать просмотр всех изменений или же сразу закомитить
- После нам нужно запушить наши изменения
- Перейдём в наш GitHub и проверим, что отправилось. Как видим запуск браузера остался для Docker
- Но нужное изменение добавилось!
Весь свой код вы всегда можете клонировать себе по данной ссылке -
https://github.com/Timurchik57/JAVA
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!