2012-04-29 15 views
6

Yo y mi amigo bifurcación del repositorio principal (en sentido ascendente). Anoche, teníamos la misma versión de este repositorio en la máquina local. Luego agregué una nueva función y mi amigo también agregó otra característica nueva. Mi amigo retiró la solicitud al repositorio principal y fusioné esta solicitud de extracción con el repositorio en sentido ascendente sin conflicto. Y cuando recojo de la corriente ascendente y me fusiono con mi rama principal, entra en conflicto. ¿Qué debo hacer en esta situación para resolver un conflicto? (El repositorio ascendente debe tener 2 características nuevas después de resolver el conflicto)Combinar conflicto Git

Respuesta

4

Simplemente revise los archivos marcados como conflictivos por git status y encuentre los marcadores de conflicto (puede buscar ==== en el archivo). Concilie los cambios entre ellos, descubra si algo inesperado se rompió con la combinación de su código, ejecute las pruebas y luego use git add y git commit de forma normal para hacer un commit que combine la nueva función de su amigo con la suya.

Upstream: original     with friend's feature   with both 
       \ \    /    \    /
       \ -- Friend's --/     \   /
       \         \   /
        ---- Yours ------------------------- your merge 
+0

Gracias, la información es realmente útil. –

1

Puede escribir git difftool path/filename en la consola para utilizar una herramienta para resolver el conflicto o utilizar el software de Git que ha resolución de conflictos incorporado. Me gusta mucho SmartGit (de los creadores de SmartSVN) y TortoiseGit (muy similar a TortoiseSVN).

10

Tenga en cuenta que también se puede resolver directamente un conflicto de combinación de Eclipse/Egit sí:
Ver "Egit: Solving Merge Conflicts":

Puede editar manualmente el texto en el lado izquierdo o utilice el cambio actual de copia de botón de derecha a izquierda para copiar los cambios en conflicto de derecha a izquierda.

El siguiente paso es desde el menú contextual del archivo, para seleccionar Equipo -> Agregar al índice. Que comprometerse

merge conflict resolution in EGit

+0

Vea también http://stackoverflow.com/questions/11674950/how-to-do-an-ours-merge-using-the-eclipse-git-merge-tool como un ejemplo del uso de esa herramienta. – VonC

Cuestiones relacionadas