Git reemplaza la twig principal con la historia no relacionada

Tengo dos twigs en mi repository: master y devel. Traté de combinar el desarrollo con el maestro, pero obtuve el error fatal: refusing to merge unrelated histories .

En github, la twig principal contiene algunos files que no me importan y que no necesitan combinarse. No necesito mantener el historial de la twig principal, simplemente quiero replace el maestro por lo que está en desarrollo.

Una vez que me actualice para dominar, necesito decirle a mi compañero cómo extraer el maestro sin fusionarse con su copy local anterior del maestro.

Lo que estoy considerando hacer es usar los consejos de esta publicación y publicarlos:

 git branch -m master old-master git branch -m devel master git push -f origin master git branch -d old-master 

¿Crees que esto funcionará? ¿Qué le debería decir a mi compañero para que obtenga la última copy del maestro una vez que lo haya hecho?

Entraste en una situación bastante desorderada aquí.
Suponiendo que el reemploop de su sucursal fue bien, debe preguntarle a su compañero si tiene cambios que le gustaría no comprometerse con su lado.

  • Si no hay cambios de su parte, recomendaría clonar el repository remoto y comenzar desde cero.
  • Si su pareja tiene cambios, le recomendaría hacer una copy de la sucursal local y seleccionar los cambios.

Compañero:

 git checkout –b master_tmp master git checkout master_tmp git branch –D master git fecth git checkout master #Locate the changes you are missing git log master_tmp git cherry pick sha1x…sha1y # look at the documentation of cherry pick. #Resolve conflicts as usual git commit git push 

El comportamiento pnetworkingeterminado ha cambiado desde git 2.9:

"Git Merge" solía permitir la fusión de dos twigs que no tienen una base común por defecto, lo que llevó a una nueva historia de un proyecto existente creado y luego ser arrastrado por un mantenedor desprevenido, lo que permitió una historia paralela innecesaria fusionada en el proyecto existente . El command se ha enseñado a no permitir esto por defecto, con una opción de escape hatch -allow-unrelated-history para ser utilizada en un evento raro que combina historias de dos proyectos que comenzaron sus vidas de forma independiente.

Consulte el logging de cambios de liberación de git para get más información.

Puede usar --allow-unrelated-histories para forzar la fusión.

Ejemplo: git pull origin branchname --allow-unrelated-histories