Найти в Дзене

Git для тестировщика. Конфликты веток через Intellij IDEA JAVA. Часть 6.

В предыдущей статье мы научились обновлять проект через встроенный интерфейс, рассмотрели работу с ветками и отправку изменений в нужную ветку. В этой статье мы продолжим знакомиться с ветками в Intellij IDEA JAVA.

Git. Модуль 5 | Обучение тестированию | Дзен

Мерж веток с разным наполнением

Мы уже научились отправлять изменения в нужную ветку. Но что, если изменения затрагивают старый код? Будет ли наша Java всегда использовать последние изменения? Давайте разберемся.

Переключимся на какую нибудь тестовую ветку

-2

В одной из предыдущих статей мы с вами изменили способ инициализации ChromeDriver для его запуска через Docker. Для этого нам пришлось модифицировать абстрактный класс, от которого наследуются наши тесты. Эти изменения могут привести к конфликтам с ветками, в которых таких изменений нет.

Docker. Модуль 4 | Обучение тестированию | Дзен

Давайте изменим ветку NewFile на запуск через Контейнер Docker

-3

Добавим какой нибудь тест

-4

Комитим данное изменение

-5

Так выглядит ветка master

-6

Отличается наполнение нашего проекта. Давайте добавим ещё один тест

Мы добавили новый тест. Теперь в комите отображается только данное изменение

-7

Комитим изменения

Видим, что появились зелёные стрелочки, обозначающие, что нам нужно данные ветки запушить

-8

Сейчас мы смоделировали ситуацию, когда в наших ветках есть различия. Это происходит довольно часто, поскольку над проектом одновременно работает множество людей, каждый из которых вносит свои изменения.

Теперь давайте попробуем объединить ветку NewFie с основной (master). Для этого переключимся на ветку master и выполним команду Git - Merge.

-9

И выбираем ветку NewFile

-10

Как видим у нас появился конфликт. Их может быть много, в данном случае выбираем нужный и нажимаем Merge

-11

У нас с вами открылось окно, где показаны места конфликтов

-12
  • Слева - ветка на которой мы находимся
  • По середине - ветка, которая будет в итоге
  • Справа - ветка которую с которой мы хотим объединить изменения

Нажимая на стрелочки мы берём изменения

-13

Крестик, соответственно не берём из данной ветки эти изменения. После того как вы выбрали нужные изменения из обеих веток нажимаем Apply

-14

После этого произошло успешное слияние и ветку можно запушить на Github

-15

Стоит также отметить, что конфликтов по поводу ChromeDriver не было. Так как тут было простое изменение, мы заменили локальный запуск на запуск через Docker

-16

Нажимаем Git -Push. Тоже самое проделываем и со второй веткой.

-17

Теперь вы научились решать конфликтные ситуации при слиянии веток!

Весь свой код вы всегда можете клонировать себе по данной ссылке -
https://github.com/Timurchik57/JAVA

Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!

Обучение тестированию