git fusionar conflicto debido al cambio de nombre en dos ramas: ¿cómo solucionarlo y evitarlo en el futuro?

Tengo dos sucursales localesmaster ydev. Ambas ramas contenían tres carpetas:

projectBeta
project
project_v1

Solo quería mantenerprojectBeta y eliminarproject yproject_v1 y luego renombrarprojectBeta comoproject. Entonces eso es lo que hice por separado en ambas ramas, comprometiéndome a medida que avanzaba. Todo se veía bien hasta que intenté fusionar eldev branch to master, y obtuve un montón de este tipo de errores:

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

or lo tanto, parece que Git rastreó los cambios de nombre de diferentes maneras en las diferentes ramas.

Si hago ungit status, Yo obteng

# 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")

Lo primero que no entiendo es por qué el estado solo dice que "lo agregamos" cuando el informe de fusión dice que nosotros y ellos cambiamos el nombre y lo eliminamos.

n segundo lugar, quiero usar la versión de la rama de desarrollo (ellos) de test.c, pero ahora cuando intento

git co --theirs project/test.c

Yo obteng

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

... ¿entonces no sé cómo asegurar que la fusión usará el contenido de la rama de desarrollo?

Finalmente, ¿hay una forma de mejores prácticas para evitar un desastre como este en el futuro? Básicamente, cambiar las estructuras de carpetas de forma independiente en las ramas donde el contenido no está listo para fusionarse primero ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta