Учитывая, что две ветки расходятся, и конкретная фиксация из одной ветки (и не все) должна быть введена другой, git выбор вишни достигает именно этого.
Через некоторое время возникает необходимость полностью объединить две ветки. Как git знает, что у него уже есть фиксация, которая была выбрана в прошлом, так, чтобы она не возвращала ее?