Pro Git
Pro Git
Figure 37. Traer (fetch) algunas confirmaciones de cambio (commits) y fusionarlas (merge) sobre tu trabajo
A continuación, la persona que habÃa llevado cambios al servidor central decide retroceder y reorganizar su trabajo; haciendo un git push --force para sobrescribir el registro en el servidor. Tu te traes (fetch) esos nuevos cambios desde el servidor.
Figure 38. Alguien envió (push) confirmaciones (commits) reorganizadas, abandonando las confirmaciones en las que tu habÃas basado tu trabajo
Ahora los dos están en un aprieto. Si haces git pull crearás una fusión confirmada, la cual incluirá ambas lÃneas del historial, y tu repositorio lucirá asÃ:
Figure 39. Vuelves a fusionar el mismo trabajo en una nueva fusión confirmada
Si ejecutas git log sobre un historial asÃ, verás dos confirmaciones hechas por el mismo autor y con la misma fecha y mensaje, lo cual será confuso. Es más, si luego tu envÃas (push) ese registro de vuelta al servidor, vas a introducir todas esas confirmaciones reorganizadas en el servidor central. Lo que puede confundir aún más a la gente. Era más seguro asumir que el otro desarrollador no querÃa que C4 y C6 estuviesen en el historial; por ello habÃa reorganizado su trabajo de esa manera.