Git submódulo a una subcarpeta
-
13-09-2019 - |
Pregunta
En SVN puede vincular un repositorio en cualquier carpeta en otro repositorio SVN. Me pregunto si hay una característica similar para git? Básicamente quiero un submódulo git repositorio dentro de mi, pero quiero que el submódulo de ser un puntero a una subcarpeta de otro repositorio git, no todo el repositorio. ¿Es esto posible?
Solución
Git no soporta las cajas parciales, por lo que el submódulo debe apuntar a un completa repositorio.
Este hilo en la lista de correo Git proporciona cierta información de fondo.
este artículo de Software Pantera ofrece una idea de otra persona tratando de lograr un objetivo similar (es decir, replicar svn:externals
usando Git).
Si ambos proyectos están bajo su control, entonces le sugiero que aislar el "subcarpeta" que le interesa a su propio repo independiente. A continuación, ambos proyectos pueden crear submódulos que enlazan con ella.
Otros consejos
Estoy corriendo con el mismo problema. No parece solucionable desde un nivel git, al menos no de una manera que le permite extraer fácilmente o empujar a la cesión temporal de los padres.
Sin embargo, puede evitar esta limitación mediante el uso de un enlace simbólico simple:
- Configure su submódulo en un directorio separado.
-
git submodule add http://example.com/repo.git ./submodules/repo
-
- Crea un enlace simbólico a la subcarpeta en el lugar que desee:
-
ln -s ./submodules/repo/subdirectory ./wherever/symlinked_directory
-
Referencias:
Por lo general, cuando se está tratando de extraer una subcarpeta de algún otro proyecto, que subcarpeta debe ser un proyecto independiente en el primer lugar, y ambos proyectos parentales se hace referencia a la misma.
Puede extraer tales historia de un subproyecto usando una herramienta como git subárbol . A continuación, puede vincular el subárbol de nuevo en su proyecto usando git submódulo o sub-árbol git, lo que usted prefiera.