Capítulo 15. Submódulos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Es habitual tener muchas aplicaciones que dependen de una biblioteca de utilidades o un conjunto de bibliotecas. En tales situaciones, querrás que cada una de tus aplicaciones se desarrolle, comparta, ramifique y fusione en su propio repositorio Git, ya sea porque esa es la unidad lógica de separación o quizás por cuestiones de propiedad del código.

Pero dividir tus aplicaciones de esta forma crea un problema. Cada aplicación depende de una versión concreta de la biblioteca compartida, y tienes que hacer un seguimiento de qué versión es exactamente. Si alguien actualiza la biblioteca por accidente a una versión que no ha sido probada, podría acabar rompiendo tu aplicación. Además, la biblioteca de utilidades no se desarrolla por sí sola; normalmente la gente la va retocando para añadir nuevas funciones que necesitan en sus propias aplicaciones. Con el tiempo, querrán compartir esas nuevas funciones con todo el mundo que escriba otras aplicaciones;para eso sirve una biblioteca de utilidades.

Se suelen utilizar varias estrategias para intentar solucionar este problema, como realizar comprobaciones parciales, importar código dependiente directamente al proyecto, o incluso copiar el proyecto dependiente como una subcarpeta en el proyecto. Pero no son soluciones elegantes; de hecho, algunas personas las consideran "hacks".

Git aborda este problema ...

Get Control de versiones con Git, 3ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.