Итак, мои ветки git настроены следующим образом:
-------- A
/ \
master -------- master
\
--------------------B
Как и в случае, я разветвлял A и B от master одновременно, и с тех пор слил A обратно в master и удалил ветку A.В ветви A я удалил некоторый код, который все еще существует в ветви B. Например, на главном филиале у меня есть (только пример):
class Eg {
int a;
}
В ветви B у меня есть:
class Eg {
unsigned int b;
}
, то есть то, что существовало на мастере до того, как я разветвил A и B.
С тех пор я понял, что мне нужно и то и другое, т.е. мне нужно:
class Eg {
int a;
unsigned int b;
}
Когда я пытаюсь объединитьмастер в B, я в конечном итоге теряю unsigned int B
(потому что ветвь B позади мастера для изменений в этом разделе).Есть ли способ сохранить изменения от обоих и вручную разрешить все?Т.е. после слияния в конечном итоге наберите:
class Eg {
<<<
int a;
===
unsigned int b;
>>>
}
в ветви B и разрешите все это вручную?Мне нужны все изменения из ветви A / master, а также некоторые изменения из старой версии master, которые я переписал в ветви A, которые все еще существуют в ветви B (и мне нужны все мои изменения в ветви B, поскольку я получил ответвление отмастер).Я понимаю, что это довольно беспорядок, поэтому я не возражаю против ручного разрешения всего (изменения на А достаточно малы, чтобы разрешать конфликты вручную).