Uno de los miedos a la hora de utilizar git es hacer merges. Eso de crear una nueva rama y después fusionarla… da a veces un poco de miedo. Sobre todo porque a veces hay conflictos entre archivos y tenemos que usar herramientas para poder compararlos.
No solo cuando usamos git necesitamos comparar archivos, hay muchas razones por las que comparar un archivo y ver los cambios, desde ese Excel lleno de columnas a ese backup de la base de datos. En este artículo voy a recopilar una serie de herramientas open source y/o gratuitas para hacer comparaciones de archivos e Windows.
Notepad++
Sí, Notepad plus plus es esa herramienta tan versátil que todos tenemos instalada en Windows, pues en su sección de plugins hay uno la mar de interesante llamado “Compare Plugin”se puede descargar de aquí http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central y para instalarlo solo hay que copiar un archivo .dll a la carpeta plugins.
Ahora solo con pulsar Alt + d podemos ver las diferencias entre 2 archivos abiertos.
winMerge
WinMerge es una herramienta que nos permitirá comparar tanto carpetas como archivos, presentando las diferencias en forma de texto visual. Por lo que será fácil de entender y manejar.
La podemos descargar aquí: http://winmerge.org/
KDiff3
Permite comparar dos o tres ficheros a la vez y quedarte con los cambios que más te interesen. Después de pasear por stackoverflow y similares buscando herramientas para fusionar y comparar, Kdiff3 aparece muchísimas veces, así que no será tan mala 😉
Windiff
Sí, Windows trae una herramienta para comparar archivos solo hay que ejecutar Windiff.exe Aunque tiene una UX Windows 3.11, pude servirnos en un momento de necesidad
[Bola extra]
Hace ya algunos meses los chicos de códice software, creadores de PlasticSCM (http://www.plasticscm.com/) sacaron una herramienta con muy buena pinta
Semantic Merge
Semantic merge trata de analizar el código para obtener la estructura del mismo y luego fusionarse. Como una imagen vale más que mil palabras aquí os dejo una imagen de lo que soluciona SemanticMerge, puedes refactorizar y mover métodos de sitio sin tener miedo a que la fusión se convierta en una locura.
Para sintetizar, Semantic Merge permite analizar los cambios no a nivel de líneas, sino a un nivel más abstracto, viendo diferencias entre métodos, clases, propiedades o campos en un mismo fichero.
De momento solo está disponible para mergear C# y para Java, pero la herramienta promete 😉
Buenas amigo, la verdad has nombrado muchas herramientas pero yo en lo personal recomiendo meld, herramienta en software libre super potente ya que no solo compara archivos sino directorios completos.
De verdad espero que la evalúen y veras toda la potencia que tiene
Me gustaMe gusta
Gracias por el aporte. No conocía esta herramienta, aunque para confeccionar la lista me centrado sobre todo en herramientas que funcionen en windows, es bueno conocer también las cosillas útiles de Linux 😉
Me gustaMe gusta
y yo te recomiendo el beyondcompare excelente.
excelente blog
Me gustaMe gusta
Gracias,
BeyondCompare es un gran aporte. SI es una buena herramienta para comparar, pero cuando te acostumbras a KDiff3 ya nada es como antes 😉
Me gustaMe gusta
Jesus!. Gracias por tu aporte, muy bueno. Para mis cosas, yo al final he optado por el plugin de notepad++ que comentas. Aunque para cosas mas complejas me han dicho que Beyond Compare está muy bien. Como es la primera vez que me instalaba un plugin en Notepad++ he utiliza esta guia, la pongo por si a alguien le sirve: http://www.3engine.net/wp/2014/01/plugin-para-comparar-codigo-en-notepad/
Me gustaMe gusta
Hola.
podría darme una luz con este tema de comparar archivos?
tengo una aplicación que replica el árbol de directorios tomando solo los tipos de archivos que deseo ahora esos archivos los debo comparar con el mismo árbol pero tomado de otro ambiente.
¿conoce algún pluging que pueda implementar en mi app?
cabe anotar que es un Windows form..
Me gustaMe gusta
No entiendo muy bien tu pregunta, si tienes que comparar si 2 árboles de directorios son iguales una manera sería listarlos de forma recursiva y comparar que ambos listados son iguales.
Me gustaMe gusta
Ok quiza no fui claro…
se como recorrer los directorios.
ahora lo que necesito es implementar algún plugin que verifique las diferencias de su homónimo original me explico :
la diferencia entre C:\CarpetaOriginal\archivo1.txt y C:\Carpeta_Copia\archivo1.txt
es una aplicacion windows form.
Me gustaMe gusta
requiero comparar el arbol de archivos entre dos servidores linux pwero visualizar dicha informacion desde un equipo windows …conocen alguna aplicacion que me pueda ayudar con esta labor
Me gustaMe gusta