В нашем проекте с использованием веток master и develop фиксация сделана непосредственно на master (всего три файла, и эти изменения тоже на ветке develop).
Теперь мне нужно объединить разработку с мастером, но я не могу, так как история для мастера теперь «не пересекается» с разработкой, и я получаю следующую ошибку: fatal: refusing to merge unrelated histories
.
Я сделал reset commit hard
на мастере, так как не хочу локально сохранять изменения последней фиксации, поскольку они уже находятся в разработке. Однако после возврата локальная основная ветвь опережает на 600 изменений и отстает на 1066.
Почему такое количество изменений? Я ожидаю, что локальная ветка master совсем не отстает, так как возврат перемещает указатель на предыдущую фиксацию.
Считает ли он все предыдущие push/pull, сделанные на основной ветке с самого начала (выполняя pull, я все равно получаю ошибку fatal: refusing to merge unrelated histories
)?
Ожидаемый/желаемый результат будет состоять в том, чтобы вернуться к одной фиксации на мастере, когда эта ветвь все еще находилась в строке истории разработки, что позволило бы мне объединить их.
git filter-branch
до корневого коммита. - person torek   schedule 09.03.2017develop
иmaster
? Показан толькоorigin/master
. - person mkrieger1   schedule 09.03.2017revert commit hard
на мастере? Вы действительно имели в видуreset
, а неrevert
? Возможно, вы переместили свой (локальный) указатель веткиmaster
на фиксацию, совершенно не связанную сdevelop
илиorigin/master
, что может объяснить, почему Git отказался выполнить слияние. Несмотря на то, что теперь вы нашли волшебный аргумент командной строки, разрешающий слияние, я сомневаюсь, что это привело вас к ситуации, которую вы на самом деле хотите. - person mkrieger1   schedule 09.03.2017