Usando parches en Git

El parche GIT o GIT diff se usa para compartir los cambios realizados por usted con otros sin enviarlo a la rama principal del repositorio. De esta manera, otras personas pueden verificar sus cambios desde el archivo de parche GIT que realizó y sugerir las correcciones necesarias. Después de realizar todas las correcciones, puede enviar los cambios a la rama principal del repositorio. 

Hay diferentes formas de crear parches GIT. Los revisaremos uno por uno. Aquí, hemos tomado un repositorio de demostración para este tutorial llamado git-patch-tut en el que hay un archivo de texto llamado gfg-intro.txt que contiene pocas líneas de descripción. Realizaremos todas las operaciones en este archivo de texto para mejorar la comprensión. 

Crear un parche para un solo archivo

Supongamos que se cambia la descripción en el archivo gfg.txt , se realiza git diff –cached gfg.txt para verificar los cambios realizados. Los cambios se pueden ver con git-diff, almacenados en caché después de que se prepara un archivo. Si se inserta un nuevo archivo en el repositorio, no mostrará los cambios con git-diff , a menos que se use –cached con él.  

Ahora, suponga que el usuario desea crear un parche para este único archivo que se editó. Se usará git diff > gfg-intro.patch donde gfg-intro es el nombre del parche.  

Crear parche para una imagen binaria

Si se agrega una imagen binaria como un archivo jpg o png en el repositorio (Carpeta de proyecto). Los cambios de un archivo binario se pueden ver con git diff –staged –binary > image.jpg donde “image.jpg” es el nombre del archivo. Aquí se usa –staged ya que primero agregamos el archivo en el área de preparación y luego usamos git-diff para ver los cambios.  

Ahora, para crear un parche para este archivo binario recién agregado, se puede usar git diff –staged –binary > binary.patch donde binary es el nombre del parche. Es igual que el anterior, la única diferencia es usar –binary al crear el parche.  

Creación de parches a partir de las confirmaciones

Para crear los archivos de parche para todas las confirmaciones realizadas en una rama en particular, se puede usar git format-patch -1 test-patch , donde «test-patch» es el nombre de la rama y -1 es el número de confirmaciones que se van a realizar . incluido para crear el parche. En el siguiente ejemplo, hemos usado -1 y el parche resultante se llama 0001-Add-description.patch . Tenga en cuenta que el nombre del archivo se basa en el nombre de confirmación en esa rama en particular. De esta forma, se pueden crear múltiples archivos de parches para múltiples confirmaciones en una rama en particular. En el siguiente ejemplo, ha generado solo 1 archivo de parche para la última confirmación. También puede usar git format-patch -1 HEAD , donde HEAD es shade la confirmación donde apunta el encabezado. 

Para crear un archivo de parche de una confirmación a otra, es decir, un archivo de parche en el que los cambios incluyen todas las confirmaciones desde la confirmación inicial hasta la confirmación final. Se realiza mediante git diff initial-commit-sha end-commit-sha myPatch.patch , donde «myPatch» es el nombre del parche y se incluyen el sha inicial y final de las confirmaciones.  

Aplicar un parche

Supongamos que hay un archivo de parche con los cambios realizados, aquí en nuestro ejemplo para el archivo gfg.txt . Si el usuario desea verificar que estos cambios sean correctos o no, entonces se crea una rama diferente desde el maestro y se aplica el parche para verificar los cambios. Así se aplica el parche en la nueva sucursal. 

La aplicación se realiza mediante git apply 0001-Add-description.patch, donde «0001-Add-description.patch» es el nombre del parche que se aplicará. Después de aplicar el parche, el archivo relacionado se modificará con los cambios realizados en ese archivo de parche y se puede revisar antes de enviarlo a la rama principal del repositorio principal.
 

Publicación traducida automáticamente

Artículo escrito por sambhavkaul y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *