У вас есть несколько корней. Это не то же самое, что осиротевшие коммиты. Многократные корни неудачны, но Git предназначен для правильной работы с ними, и они не должны вызывать проблем с производительностью. Само ядро Linux имеет несколько.
Единственный способ удалить лишние коммиты - это полностью переписать всю историю репозитория, уничтожить его и заменить его новой фальсифицированной историей, которая не содержит нежелательной истории. Вы можете сделать это, создав прививку и запустив историю через git filter-branch
.
Точный выбор трансплантата неуловим. Глядя на график, я не вижу очевидного выбора, поэтому я не уверен, какой взяточник я мог бы предложить, чтобы история выглядела так, как вы этого хотите.
Если бы это был я, я бы жил с множественными корнями. У меня есть личные репозитории с гораздо большим количеством корней, может быть, с 20 или 30 корнями, и у меня нет проблем с медлительностью ни с одним из моих инструментов.