конфликт слияния мерзавца из-за переименования в двух ветвях - как зафиксировать и избежать в будущем?

у меня есть два локальных отделения ведущее устройство и разработчик . Обе ветви содержали три папки:

projectBeta
project
project_v1

Я хотел просто оставаться projectBeta и удалить проект и project_v1 и затем переименовать projectBeta как проект . Таким образом, это - то, что я сделал отдельно на обеих ветках, фиксируя, когда я продвинулся. Весь выглядел хорошим, пока я не пытался затем объединиться разработчик ветвь ведущему устройству, и я получил груду этих видов ошибок:

CONFLICT (rename/delete): Rename projectBeta/test.c->project/test.c in dev and deleted in HEAD
CONFLICT (rename/delete): Rename project_v1/test.c->project/test.c in HEAD and deleted in dev

, Таким образом, это похоже, Мерзавец отследил переименовывание по-разному в различных ветвях.

, Если я делаю состояние мерзавца , я добираюсь

# On branch master
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   added by us:        project/test.c
#
no changes added to commit (use "git add" and/or "git commit -a")

Первая вещь, которую я не понимаю, то, почему состояние просто говорит, что это - "добавленный нами", когда в сообщении о слиянии говорится, что это переименовано и удалено и нами и ими?

, Во-вторых, я хочу использовать ветвь разработчика, присваивают версию (их) test.c, но теперь когда я пробую

git co --theirs project/test.c

, я добираюсь

error: path 'project/test.c' does not have their version

..., таким образом, я не знаю, как удостовериться, что слияние будет использовать содержание от ветви разработчика?

Наконец, там лучшая практика способ избежать такой путаницы как это в будущем? В основном, изменяя структуры папок независимо в ветвях, где содержание не готово объединиться сначала...

13
задан SubG 1 September 2011 в 00:07
поделиться