[QuickTip] Generar un parche individual a partir de dos commits de Git

git

Recientemente tuve la necesidad de crear un parche a partir de algunos cambios realizados a una aplicación. El «reto» era que únicamente tenia la ultima versión y no tenia voluntad de descargar la versión anterior para usar diff . . . con lo cual conoci git-diff.

Como su nombre lo indica git-diff es una integración entre el clasico diff para git, con lo que podemos hacer un diff (y consecuentemente un parche) a partir de dos commits, pudiendo generar un diff total (un diff para todo el commit) o un diff parcial (para uno o varios archivos).

Identificar las revisiones

Lo primero que debemos de hacer es identificar las revisiones,  y para esto podemos utilizar git-log, recordando que cada commit puede ser identificado por los primeros 7 caracteres de la suma SHA-1

Por ejemplo con el comando:

1
git log --reverse

Obtendríamos una salida similar a la siguiente (en orden reverso para ver los ultimos commits):

log

De aca se logra identificar que las revisiones que nos interesan son  908f798 y 0c39bec.

Crear el parche para un archivo

Una vez identificadas las revisiones basta ejecutar git diff sobre nuestro archivo y llevar la salida hacia un archivo nuevo. Para esto la sintaxis a usar con git-diff es:

git diff  [revision1] [revision2] — [archivo] > [parche]

Por ejemplo,  para generar un parche para el archivo app.nabconfig.js a partir de las dos revisiones mostradas, ejecutamos:

1
git diff 908f798 0c39bec -- Folder/app.nabconfig.js > branding.patch

La salida debiera ser similar a la siguiente:

patch

 

Deja una respuesta

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