Найти в Дзене

Git для тестировщика. Изменения на разных ветках в Intellij IDEA JAVA. Часть 8.

В прошлой статье мы научились брать только нужные изменения с другой ветки. Сегодня разберём, что делать если у нас уже есть много изменений на локальной ветке и запушить нужно не все. Объединение веток определёнными обновлениями Иногда возникает необходимость внести множество изменений в код, но не все из них должны попасть в основную ветку проекта. Например, вы можете создать тестовый функционал, который нужен только на вашей машине и не должен быть доступен на сервере. В таком случае необходимо принять меры, чтобы избежать отправки этих изменений в основную ветку. Представим, что мы работаем над своей веткой проекта. Мы хотим внести изменения в код, но не все из них должны попасть в основную ветку. И добавим нужное изменение, которое нам необходимо загрузить на сервер Сейчас в коммите два изменения: одно нужно отправить на сервер, а второе оставить только локально. Если мы выделим все изменения и отправим их, то при последующем использовании cherry-pick на сервер попадут все изменен

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

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

Объединение веток определёнными обновлениями

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

Представим, что мы работаем над своей веткой проекта. Мы хотим внести изменения в код, но не все из них должны попасть в основную ветку.

-2

И добавим нужное изменение, которое нам необходимо загрузить на сервер

-3

Сейчас в коммите два изменения: одно нужно отправить на сервер, а второе оставить только локально. Если мы выделим все изменения и отправим их, то при последующем использовании cherry-pick на сервер попадут все изменения.

-4

Поэтому создадим несколько комитов. Создадим для начала новый Changelist

-5

Дадим любое название

-6

Теперь мы можем распределять наши изменения, чтобы запушить только необходимые

-7

Нажав 2 раза на коммит вы сможете ознакомиться с изменениями и выяснить, какие нужно оставить

-8

Стрелочкой вверх/вниз будете между изменениями переключаться

Нужно оставить изменения только из абстрактного класса, а остальные перенести на сервер. Для этого можно зажать изменения и перенести их в нужный список изменений (changelist), либо нажать правой кнопкой мыши и выбрать «Move to Another Changelist».

-9

Изменения распределены

-10

Первые мы отправим на сервер. Все также, как и в предыдущих статьях, пишем коммит и пушим

-11

Для локального также коммитим и пушим

-12

Теперь на нашей локальной ветке, у нас есть обо изменения, но разделённые разными коммитами

-13

Переключимся на рабочую ветку. И используя метод из предыдущей статьи возьмем только нужные изменения

-14

Мы встретимся с конфликтом, мы их уже умеем решать из статьи

Перейдём в наш Github и проверим изменения. На основной ветке есть 2 изменения

-15
-16

На ветке для сервера, только одно

-17
-18

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

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

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