2010-10-30 32 views
9

Hola, estoy trabajando en dos programas al mismo tiempo. Supongamos que A y B son dos carpetas diferentes en directorios diferentes. ¿Es posible que ambos sean parte del mismo proyecto de git? Porque uso datos de A como entrada para B, pero como A es una aplicación web, la puse en public_html mientras B está en una carpeta diferente.¿Cómo incluir dos carpetas diferentes en el mismo proyecto git?

+0

¿Has mirado en [GIT-submódulo] (http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html)? – takeshin

Respuesta

4

Respuesta corta, no se puede. Haga que cada uno sea un repositorio git separado. Dos programas diferentes no pertenecen en el mismo repositorio de todos modos.

Respuesta larga: la única forma sería crear un repositorio git más arriba en el sistema de archivos en el punto donde los dos directorios comparten un antecesor común. Esta podría ser incluso la raíz de su sistema de archivos. Puede agregar cada uno de los dos directorios del proyecto al repositorio y especificar todo lo demás en .gitignore. Esto es obviamente menos que ideal.

11

Cree un proyecto de git con los dos directorios, colóquelo en otro lugar, y luego simplemente cree symlinks en las dos ubicaciones que necesita las dos carpetas.

 
$ ls -a myproject 
. .. .git A B 
$ ln -s myproject/A A 
$ cd public_html 
$ ln -s ../myproject/B B 
$ cd .. 
$ ls 
myproject A public_html 
$ ls public_html 
B 
+0

+1: Buena solución ordenada. Por supuesto, no funcionaría si @Karthick funcionara bajo Windows. – Johnsyweb

+0

¿Lo intentó? no creo que git siga ese enlace simbólico –

+1

@AdamRabung Git no necesita seguir los enlaces simbólicos en este ejemplo. A y B están ambos directamente en el directorio administrado por Git. Hay enlaces simbólicos que señalan * en * el directorio de Git, que deberá ser seguido por cualquier otro software que use (por ejemplo, necesitaría configurar su servidor web para seguir los enlaces simbólicos, pero eso normalmente no es difícil de hacer). –

Cuestiones relacionadas