Краткая версия:
Как перейти от левого графа вправо. Кроме того, мне нужно вручную очистить дубликаты (root2, a ', b'), или GC будет обрезать их в какой-то момент в будущем? Исправлена история гитов с повторяющимися записями
Длинная версия:
Из-за плохой CVS мерзавца порта я закончил с двумя альтернативными историями в том же репо, когда я импортировал branch_1 из CVS, когда мастер уже был создан в мерзавце. Как можно видеть, существуют коммиты branch_1, которые являются уникальными, но есть и другие, которые являются дубликатами. Какой самый простой способ исправить это?
У меня есть некоторые идеи, но не знаю, как их исполнить. Можно было бы полностью удалить branch_1 и начать снова, но я не знаю, как заставить git распознавать, что root1
и root2
- это то же самое, что все патчи будут применены в той же строке. Другой идеей было бы перебазироваться F, G, H на б и каким-то образом удалить root2, а ' и Ь'. Но я думаю, что, так как нет общего предка, нормальные перебазироваться не будет работать
В действительности, дубликат совершает и уникальные фиксации филиала сотня так что-то очень ручное не является хорошим
IIUC, то, как перебабатывает работу, происходит переименование в текущей ветви с ** последнего общего предка ** между двумя ветвями. В моем случае нет общего предка. Таким образом, либо он потерпит неудачу, либо поместит * root2 * в качестве дочернего элемента * b *. В любом случае это неверно. Я что-то упускаю? – Hilikus
@Hilikus, посмотрите на 'man git-rebase' и grep для опции' --onto'. – merlin2011
@ Хиликус, я процитировал соответствующие части руководства. – merlin2011