tag supermodulo submodulos submodule example git dvcs git-submodules

supermodulo - Git Submódulo a una subcarpeta



submodulos git (3)

Git no admite pagos parciales, por lo que el submodule debe apuntar a un repositorio completo.

Este hilo en la lista de correo de Git proporciona información de fondo.

Este artículo de Panther Software ofrece información de alguien más que intenta lograr un objetivo similar (es decir, replicar svn:externals utilizando Git).

Si ambos proyectos están bajo su control, le sugiero que aísle la "subcarpeta" que le interesa en su propio repositorio independiente. Entonces, ambos proyectos pueden crear submódulos que enlazan con él.

En svn puede vincular un repositorio a cualquier carpeta en otro repositorio svn. Me pregunto si hay una característica similar para git? Básicamente quiero un submódulo de git dentro de mi repositorio, pero quiero que el submódulo sea un puntero a una subcarpeta de otro repositorio de git, no todo el repositorio. es posible?


Me estoy topando con el mismo problema. No parece solucionable desde un nivel de git, al menos no de una manera que le permita tirar o empujar fácilmente hacia el repositorio principal.

Sin embargo, puede solucionar esta limitación utilizando 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. Cree 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 intenta extraer una subcarpeta de algún otro proyecto, esa subcarpeta debería ser un proyecto separado en primer lugar, y ambos proyectos principales deberían referirse a él.

Puede extraer el historial de un subproyecto de este tipo utilizando una herramienta como git subárbol . Luego, puede volver a vincular el subárbol con su proyecto utilizando git submodule o git subárbol, según prefiera.