Usando Git, ¿cuál es la mejor manera de fusionar un subárbol de un proyecto externo que tiene submódulos?

StackOverflow https://stackoverflow.com/questions/645019

Pregunta

Estoy usando un repositorio Git para todo lo relacionado con un sitio web que estoy desarrollando. El repositorio contiene todos los archivos relacionados con el sitio, incluyendo documentación, maquetas, imágenes originales en capas, etc., así como el material raíz web que he puesto en un subdirectorio www .

Estoy en el punto donde quiero comenzar a integrar el CMS que he elegido usar con el resto del proyecto; El CMS es un proyecto de código abierto que también se gestiona con Git (y alojado en GitHub, si eso es importante). Obviamente, el CMS debe estar en el subdirectorio www , pero no será lo único allí: habrá archivos CSS, imágenes, plantillas para el CMS, etc., etc. Debido a esto, he elegido usar la estrategia de combinación de subárbol para agregar el proyecto externo a mi repositorio. Como es posible que en algún momento desee modificar el proyecto original y contribuir con los cambios, he clonado el repositorio de CMS desde GitHub y he realizado la fusión de subárbol desde mi clon.

El problema es que el proyecto externo (es decir, para el CMS) tiene submódulos que quiero incluir. ¿Cuál es la mejor manera de asegurarse de que los submódulos estén integrados en el proyecto principal? ¿Tengo que hacer una fusión de subárbol para cada submódulo?

No es probable que quiera modificar los submódulos, pero es posible que haya uno o dos que lo haría.

¿Fue útil?

Solución

Los

Git submódulos contienen un pago particular de otro proyecto y no se mantienen actualizados automáticamente . Entonces, la forma más fácil de manejar los submódulos de su CMS puede ser rastrear los repositorios de los que provienen como ramas remotas. De esa manera, puede mantenerse informado sobre los cambios en los proyectos de los que provienen los submódulos.

El uso de la combinación de subárbol hace que sea más complicado (tal vez quisquilloso es la palabra correcta) enviar los cambios al proyecto CMS; tal vez podría ser una secuencia de comandos si espera enviar muchos cambios.

Otros consejos

Una forma más fácil de hacer fusiones de subárbol (y la división posterior de nuevo para que pueda enviar parches en sentido ascendente) es probar la versión experimental herramienta git subtree .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top