tutorial source instalar español conflicts git git-merge merge-conflict-resolution atlassian-sourcetree

git - instalar - source tree tutorial español



Cómo interactuar(visualmente) resolver conflictos en SourceTree/git (3)

Estoy usando (Windows) SourceTree para mi proyecto git. Puedo hacerlo en el símbolo del sistema o en el terminal de Linux.

Pero, me pregunto si existe una buena forma de resolver los conflictos de forma interactiva y visual. Por ejemplo, si la extracción detecta conflictos, aparece una herramienta de conflicto basada en la GUI (p. Ej., P4Merge). ¿Es posible?

Siempre estoy resolviendo conflictos manualmente, lo cual es doloroso.

Esto es, por ejemplo, un mensaje de git pull , de SourceTree.

git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master From W:/repo/ * branch master -> FETCH_HEAD Updating 33c07bf..41e0249 error: Your local changes to the following files would be overwritten by merge: foo.cpp goo.cpp goo.hpp Please, commit your changes or stash them before you can merge. Aborting Completed with errors, see above.


Cuando los Resolver Conflictos-> Menú de Contenido están desactivados, uno puede estar en la lista de Archivos Pendientes. Necesitamos seleccionar la opción de archivos en conflicto del menú desplegable (arriba)

Espero eso ayude


Desde SourceTree, haga clic en Herramientas-> Opciones. Luego, en la pestaña "General", asegúrese de marcar la casilla para permitir que SourceTree modifique sus archivos de configuración de Git.

Luego cambie a la pestaña "Diferencia". En la mitad inferior, use el menú desplegable para seleccionar el programa externo que desea usar para hacer los diffs y la fusión. Instalé KDiff3 y me gusta lo suficientemente bien. Cuando termine, haga clic en Aceptar.

Ahora cuando hay una fusión, puede ir a Acciones-> Resolver conflictos-> Lanzar herramienta de fusión externa.


Estoy usando SourceTree junto con TortoiseMerge / Diff, que es una herramienta diff / merge muy fácil y conveniente.

Si quieres usarlo también, entonces:

  1. Obtenga la versión independiente de TortoiseMerge / Diff (bastante antigua, ya que no se envía de forma independiente desde la versión 1.6.7 de TortosieSVN, desde julio de 2011). Enlaces y detalles en esta respuesta .

  2. Descomprima TortoiseIDiff.exe y TortoiseMerge.exe en cualquier carpeta ( c:/Program Files (x86)/Atlassian/SourceTree/extras/ en mi caso).

  3. En SourceTree, abra Tools > Options > Diff > External Diff / Merge . Seleccione TortoiseMerge en ambas listas desplegables.

  4. Haga OK y señale SourceTree a su ubicación de TortoiseIDiff.exe y TortoiseMerge.exe .

Después de eso, puede seleccionar Resolve Conflicts > Launch External Merge Tool desde el menú contextual en cada archivo en conflicto en su repositorio local. Esto abrirá TortoiseMerge, donde puedes lidiar fácilmente con todos los conflictos que tienes. Una vez finalizado, simplemente cierre TortoiseMerge (ni siquiera necesita guardar los cambios, esto probablemente se hará automáticamente) y después de algunos segundos, SourceTree debería manejarlo con elegancia.

El único problema es que automáticamente crea una copia de seguridad, aunque la opción correcta esté desmarcada .