Acceder al contenido principal

Blog

Volver a Blog

Comprimir sólo los archivos que han cambiado de un proyecto git

23 Abr 018
Git post
Avatar Fernando González

GIT

Hay veces que en los despliegues de código, nos interesa subir únicamente los archivos que hemos tocado, junto con su estructura de directorios, y si han sido varios archivos de localizaciones muy distintas, puede ser un problema o vernos obligados a subir el código completo, por ejemplo en alguna actualización de core o de algún tipo que modifique cantidad de archivos ya existentes y añada nuevos.

Bueno pues como casi todo en la informática, hay solución a éste problema.

Vamos a aprender con un sencillo comando a copiar los archivos que han cambiado de un commit y evitar subir el sistema completo, para esto:

1 - Una vez tenemos los cambios hacemos push a git con los cambios que queremos en la rama con la que trabajamos.

2 - Ejecutamos el siguiente comando:
        git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT "ID_DEL_COMMIT" | xargs tar -rf "archivoComprimido".tar

3 - Al ejecutar el comando cambiamos "ID_DEL_COMMIT" por el ID del commit que acabamos de hacer y "archivoComprimido".tar por el nombre que queráis dar a la compresión de todo el arbol de directorios y ficheros del commit.

Y listo, ya tenemos un paquete preparado para subir con nuestra actualización parcial de código, espero que os ayude en vuestros despliegues.

Comentarios

Añadir nuevo comentario