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?

¿Fue útil?

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:

  1. Configure su submódulo en un directorio separado.
    • git submodule add http://example.com/repo.git ./submodules/repo
  2. 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.

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