Как смержить ветку, чтобы она не удаляла метод в master?
Есть 2 ветки: master и order. В master есть метод adds, в order его нет. Когда мержу order в master метод пропадает. Как смержить так, чтобы в случае не конфликтного сливания файла метод не пропадал?
Ветку order для измененного файла нужно было создавать не от актуального мастера, а от того состояния, в котором этот файл был отдан на сторону. Иначе полученный коммит отменит всю работу, которую вы сделали сами. Разве это не очевидно?
Так у меня в order 15 файлов отредактировано. Это мастер также затрет order мне? Еще тут погуглил. У меня получилась перемотка (fast-forward merge). Вообще при сливании должен оставаться тот файл который мы копируем или тот файл В который мы копируем должен "подстроиться" с учетом добавляемого?
Если разобраться, то получается как удаление. Дело в том, что файла из репозитория отдавались на сторону, в этот момент ветка не создавалась(тогда adds не было). Потом пришли измененные файлы, была создана ветка и залиты изменения, сделан коммит(ветка order), а потом merge ветки order в master. С высоты получается как удаление в ветке master метода.
abcd0x00: на сколько я понял процесс - файл редактировал кто-то третий, затем создали ветку и им заменили исходный. это удаление методов, и конфликта не будет, если эти методы в мастере не редактировались параллельно
файл редактировал кто-то третий, затем создали ветку и им заменили исходный
Когда файл передавался наружу, метода в нём не было. Как его могли удалить? В это время этот метод добавили в файле исходного репозитория. Получается, что когда файл вернулся снаружи, в нём на этом месте была пустота, а в исходном репозитории в нём был этот метод. Если он делает замену файла, то появляется незакоммиченное удаление. Зачем он его коммитит? А если по ошибке закоммитил, то зачем пытается это влить?
Если он закоммитил удаление по ошибке (не зная, про опцию -p), то должен просто сделать ребейз, в котором отменить это удаление метода.
Да, я отдавал 3 лицу код где метода не было. Потом впилил метод, мне вернули старый файл(где метода не было), я создал ветку, залил файл,сделал коммит, смержил в мастер. Конфликта при сливании не было! Все слилось отлично, в этом файле показало удаление всего метода и все. В моем случае получилась быстрая перемотка(типа я просто в мастер коммит добавил с удаленным методом). И пришлось руками допиливать все...