У меня есть частное Git-репо в BitBucket с простой структурой. Мастер для релизов, есть ветка разработчика, которая иногда сливается с этим. Есть две или более ветки от dev для отдельных лиц. Я использую последнюю версию Tortoise Git, но могу использовать gitbash или другие инструменты. Мы следуем этой схеме
Получить из dev, создать ветку mybranch, изменить / зафиксировать / изменить / зафиксировать, нажать. Измените на dev, объедините + сквош последних коммитов из mybranch, зафиксируйте, нажмите
Это похоже на работу. Обе ветви mybranch и dev показывают, что ожидается.
Далее: в mybranch переименуйте папку, зафиксируйте, нажмите. Затем попытайтесь объединить это изменение с dev: смените на dev, merge+squash последние коммиты из mybranch. Это приводит к конфликту.
Я не понимаю, почему это особый случай или как его решить. Он не видит переименованный каталог как удаление и добавление. Когда есть несколько файлов, которые были перемещены или переименованы, как это, локальная ветвь разработчика частично обновляется и заканчивается бесполезным состоянием частичных обновлений.
Я пробовал много способов перебазировать, очистить, повторно клонировать, прервать слияние и в противном случае вернуться к чистому извлечению dev, чтобы я мог повторить попытку слияния одного или нескольких коммитов из mybranch. Я попытался выбрать только один коммит из mybranch в dev и все еще переходит в это странное состояние.
Я знаю, что конфликты могут возникать, если кто-то обновляет ветку (dev) с аналогичными изменениями после того, как я нажал на mybranch, а затем я повторяю обновление, которое имеет конфликтующие изменения. Это не такой сценарий. По этому сценарию я единственный, кто обновляет dev и mybranch.
Я уверен, что смогу со временем выяснить, как заставить отдельные изменения синхронизироваться между dev и mybranch. На самом деле, учитывая шаблон и то, что я был единственным, кто недавно обновил dev, я легко мог бы просто нажать mybranch на dev, и он будет иметь все, что должен.
Но я хочу понять, почему это так FUBAR. Имею ли я дело с известной ошибкой? Я не следую правильному образцу? Я приму RTFM, но мне нужно точно знать, чего мне не хватает. Благодарю.