python compara dos archivos

Funciones y métodos de Python

El comando git diff muestra las diferencias entre los archivos en dos confirmaciones o entre su repositorio actual y una confirmación anterior. Este comando muestra los cambios indicados por encabezados y metadatos para los archivos que han cambiado.

Cuando esté trabajando con el sistema de control de versiones de Git, es posible que desee comparar los datos de su repositorio con otros fuente de datos. Por ejemplo, es posible que desee comparar dos confirmaciones diferentes entre sí, o dos archivos.

Ahí es donde entra en juego la función diff. Diffing es una función que acepta dos entradas y presenta los cambios que existen. entre esas fuentes de datos. Las funciones de diferencia se pueden ejecutar en ramas, archivos y confirmaciones.

Este tutorial discutirá, con ejemplos, los conceptos básicos de diferenciar con Git y cómo usar el comando git diff. Al final de la lectura de este tutorial, serás un experto en el uso del comando git diff.




Comando Git Diff

El comando git diff muestra las diferencias entre archivos en dos confirmaciones o entre una confirmación y su repositorio actual. Puede ver qué texto se ha agregado, eliminado y cambiado en un archivo.

Aquí está la sintaxis del comando git diff:

 git diff 

Por defecto, el comando git diff muestra cualquier cambio no confirmado en su repositorio. 

Podemos ver las líneas eliminadas de nuestro archivo original, así como cualquier línea agregada o modificada en nuestro archivo original. A menudo, Git diff se utiliza para comparar ramas en un repositorio de Git.

El 81% de los participantes afirmaron que se sentían más seguros acerca de sus perspectivas laborales después de asistir a un bootcamp. Asigne a un bootcamp hoy mismo.

El graduado promedio de bootcamp pasó menos de seis meses en la transición de carrera, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Puede comparar archivos entre dos confirmaciones de Git especificando el nombre de la referencia que hace referencia a las confirmaciones que desea comparar. Una referencia puede ser un ID de confirmación o HEAD, que se refiere a la rama actual.

 git diff & lt; commit1 & gt ; & lt; commit2 & gt; 

Comparemos dos confirmaciones en nuestro repositorio de Git.

Para hacerlo, primero debe recuperar el ID de las confirmaciones cuyos archivos quiero comparar. Puede realizar esta tarea usando el comando git log & ndash; pretty = oneline, que devuelve un breve resumen de todas las confirmaciones en un repositorio:

 git log --pretty = oneline 

Este comando devuelve:

 5141ea9c41cdc7152408bfcab54a910f34441855 (HEAD - & gt ;; master) feat: Update README.md 749055ee99df2aa6f5adc4cbe4bfc708395f1c2e docs: Create README. . Podemos hacerlo usando este comando: 

 git diff 5141ea9c41cdc7152408bfcab54a910f34441855 749055ee99df2aa6f5adc4cbe4bfc708395  El comando anterior realizará una operación diferencial en nuestras dos confirmaciones. 





Diferencia entre ramas de Git

Para comparar dos ramas de Git con el comando diff, especifique las dos ramas que desea comparar como argumentos. Debe usar dos puntos entre el nombre de cada rama. Estos puntos indican que desea leer la última confirmación en cada una de las ramas y compararlas:

Supongamos que queríamos comparar la rama & ldquo; master & rdquo; con una rama llamada & ldquo; dev-v0.9 & rdquo; en nuestro repositorio. Podríamos hacerlo usando este comando:

 git diff master dev-v0.9 

Cuando se ejecuta este comando, se ejecutará una diferencia entre el & ldquo; master & rdquo; y & ldquo; dev-v0.9 & rdquo; ramas en nuestro código base.

De manera similar, puede comparar archivos específicos en dos ramas diferentes. por lo tanto, puede usar la misma sintaxis anterior y, además, especificar el archivo que desea comparar.

Suponga que quisiéramos comparar el archivo README.md con nuestro archivo & ldquo; master & rdquo; y & ldquo; dev-v0.9 & rdquo; sucursales. Podríamos hacerlo usando este código:

 git diff master dev-v0.9 ./README.md 

Esto comparará el archivo README.md (que está en nuestro directorio actual, indicado por la sintaxis & ldquo; ./& rdquo;) con el archivo & ldquo; master & rdquo; y & ldquo; dev-v0.9 & rdquo; ramas.




Ejemplo de comando Git Diff

Supongamos que hemos inicializado un repositorio en blanco y queremos iniciar nuestro repositorio con un archivo README.md. Hemos creado un archivo README.md en nuestro repositorio que contiene la siguiente oración:

Este es un ejemplo de la función Git diff.

Preparar archivos y confirmaciones

Vamos a crear una confirmación con este archivo usando el comando git commit:

 git commit 

Esto nos permite guardar los cambios que hemos realizado en nuestro repositorio. El comando git devuelve:

 [master (root-commit) 749055e] docs: Create README.md 1 file cambiado, 1 inserción (+) modo de creación 100644 README.md 

Si ejecutamos el comando git diff en esta etapa, no sucederá nada. Esto se debe a que nuestro repositorio se ha inicializado y no hay cambios entre los archivos de nuestro repositorio. Ahora que tenemos un repositorio básico, podemos cambiar el contenido de los archivos en nuestro repositorio. Esto nos permitirá ver el comando git diff en acción.

Supongamos que queremos agregar la oración & ldquo; Acabamos de agregar esta línea a nuestro archivo. & Rdquo; al archivo README.md. Podríamos hacerlo usando este comando:

"Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a combinar con un bootcamp. Dos meses después de graduarme, encontré el trabajo de mis sueños que se alineaba con mis valores. ¡y metas en la vida! "

Venus, ingeniero de software en Rockbot

El comando anterior agrega nuestra oración al archivo README.md.


Esto significa que ahora hay una diferencia entre nuestro archivo README.md inicial y el archivo README.md actual en nuestro repositorio.

Al ejecutar el comando git diff, podemos ver las diferencias entre estos dos archivos. De forma predeterminada, el comando git diff produce una diferencia para todos los archivos entre la última confirmación y el estado actual del repositorio.

Ejecutar una diferencia de Git entre confirmaciones

Cuando ejecutamos el comando, se devuelve la siguiente respuesta:

 diff --git a / README. md b / README.md index f808522..f08e544 100644 --- a / README.md +++ b / README.md @@ -1 +1,2 @@ + Acabamos de agregar esta línea a nuestro archivo. 

Este es un ejemplo de la función Git diff.

Este es un resultado típico del comando git diff. Nuestro resultado muestra lo que se ha agregado o eliminado en nuestro archivo en un formato diff combinado.

El comando git diff devuelve una lista de todos los cambios en todos los archivos entre nuestra última confirmación y nuestro repositorio actual.

Si quieres recuperar los cambios realizados en un archivo específico en un repositorio, puede especificar ese archivo como un tercer parámetro. Suponga que solo queremos ver los cambios realizados en el archivo README.md.

En este ejemplo, solo hemos cambiado el archivo README.md, por lo que solo esos cambios se mostrarían de todos modos. Pero si estuviéramos trabajando con un repositorio más grande, es posible que deseemos comparar solo los cambios en un archivo. Para hacerlo, podríamos usar este comando:

 git diff README.md 

Este comando nos permite comparar nuestra versión actual del archivo README.md con la última versión enviada a nuestro repositorio.




Git Diff Breakdown

Git diffs presenta un número de componentes que podemos utilizar para analizar los cambios entre un archivo en un repositorio. Vamos a desglosarlos, con referencia a nuestro ejemplo anterior.

Archivos de entrada

El primer componente de nuestro diff son los archivos de entrada . Esta parte del diff nos dice qué archivos se están comparando en el diff.

Estamos comparando el archivo README.md en la versión actual de nuestro código con el archivo README.md en la última versión de nuestro código. Esto se indica en la primera línea de nuestro código:

 diff --git a / README.md b / README.md 

Metadatos

A continuación, nuestro diff contiene los metadatos para nuestro repositorio de Git. Estos metadatos muestran las etiquetas de la versión del objeto que utiliza Git para realizar un seguimiento de los cambios que ha realizado en un archivo.


Esta información rara vez se usa en la mayoría de los casos del comando diff. En nuestro ejemplo anterior, los metadatos se ven así:

 índice f808522..f08e544 100644 

Cambiar marcadores

La siguiente parte de la salida Git diff es marcadores de cambio . Estos marcadores de patrón de archivo nos dicen qué tipo de cambios se han realizado en nuestros archivos. Los marcadores de cambio para nuestro ejemplo anterior son:

 --- a / README.md +++ b / README.md 

Estos marcadores nos dicen que los cambios de a / README.md (indicados por los signos menos), que se reflejan en b / README.md (indicados por los signos más).

Cambios en el código

Finalmente, nuestro diff devuelve un lista de cambios realizados en nuestro código . A diferencia de una comparación de archivos completa, las diferencias solo muestran las secciones de un archivo que se han modificado. En nuestro ejemplo, agregamos una línea a nuestro archivo, que arrojó el siguiente resultado:

 @@ -1 +1,2 @@ Este es un ejemplo de la función de diferenciación de Git. + Acabamos de agregar esta línea a nuestro archivo. 

La primera línea es un resumen de los cambios realizados en nuestro archivo. Esto nos dice que hemos agregado una línea de código a nuestro archivo (+1) comenzando en la segunda línea (2).

Luego, se nos muestra una lista de los cambios realizados. Como puede ver, debido a que agregamos la línea & ldquo; Acabamos de agregar esta línea a nuestro archivo. & Rdquo ;, esa línea aparece en nuestro diff. El signo más nos dice que agregamos esa línea al archivo.




Conclusión

La diferenciación es una función útil en Git que le permite comparar dos archivos, ramas o confirmaciones en una Repositorio de Git. Esto le permite ver qué cambios se han realizado desde cierto punto en su repositorio.

Este tutorial discutió los conceptos básicos de diferenciar con Git y cómo usar el comando git diff para realizar una operación de diferenciación. ¡Ahora está equipado con el conocimiento que necesita para comenzar a usar el comando git diff como un experto!

Para obtener más recursos de aprendizaje sobre Git, consulte nuestro Guía de cómo aprender Git .





python compara dos archivos: StackOverflow Questions

Tutorials