Проблема со слиянием веток

Коллеги, есть вопрос. Есть 2 ветки : Мастер и ХотФикс. В Мастере должны быть только стабильные изменения. В ХотФиксе заплатки и прочие. Дело в следующем: надо слить ветки, только выборочно А именно есть из-за истории коммитов образовалось 2 файла. Один нормальный, второй проблемный. Как мне при слиянии веток. А именно новые изменения из ХотФикса перекинуть в Мастер но чтобы изменился только один файл. Причём тот, который Я хочу. А второй проблемный даже не подгружался бы.


Ответы (2 шт):

Автор решения: Алексей Белкин

Ничего не понял, что куда, но думаю Вам это поможет. Ниже написал Вам алгоритм как соединить 2 ветки, например на master - стабильный проект, а на developer_test - велась разработка, которая уже оттестена и надо залить на master:

1)ПЕРЕКЛЮЧИТЬСЯ НА ОСНОВНУЮ ВЕТКУ "master"

git checkout master

2)ВЫПОЛНИТЬ СЛИЯНИЕ С ТЕСТОВОЙ ВЕТКОЙ "developer_test":

git merge developer_test

3)УДАЛИТЬ ТЕСТОВУЮ ВЕТКУ "developer_test":

git branch -D developer_test

Если у Вас не такой случай, то надо привести к такому случаю, чтобы какая-то 1 ветка была рабочей, обычно это master, а на других ветках делают различные фичи - в вышеописанном алгоритме это ветка developer_test. Потом когда все уже работает и оттестена на developer_test - ее соединяют с основной - в вышеописанном - это master

→ Ссылка
Автор решения: Mira

Если в ветке хотфикс нужный вам файл изменен в одном коммите - вы можете применить отдельно этот коммит к ветке мастер командой

git cherry-pick master 

выполненной когда вы стоите на нужном коммите.

Так же вы можете для "ненужно изменненого файла" - для него одного сбросить изменения, например так на один коммит назад:

git checkout HEAD^ -- my-file.txt

и таким образом исключить эти неверные изменения из ветки хотфикс

→ Ссылка