¿Cómo vincular el repository 1 git a otros repositorys?

¿Cómo vincular el repository 1 git a otros repositorys?

Supongo que tengo los siguientes repositorys:

/var/Common.git

/var/Project1.git

/var/Project2.git

Ahora, quiero usar Common.git en otros repositorys. Cómo puedo hacerlo ?

Probablemente estés buscando submodules :

Los submodules permiten que los repositorys extranjeros se incrusten dentro de un subdirectory dedicado del tree fuente, siempre apuntando a una confirmación particular.

Una palabra key está incrustada : un clon real de Common.git estaría embedded dentro de cada uno de los otros proyectos. Esto generalmente es bueno para cuando no va a modificarlo dentro de los otros proyectos, simplemente use una versión y actualice esa versión desde Common.git original de vez en cuando. Harías algo como esto:

# add Common.git as a submodule at the path "common" inside this repo git submodule add /var/Common.git common # initialize it, clone, and check out a copy git submodule update --init # commit the addition of the submodule git commit 

Tenga en count que la ruta al submodule se va a asignar a su repository, por lo que debe usar una URL disponible públicamente. Si desea personalizarlo localmente, puede ejecutar git submodule init , editar la url en .git / config, y luego ejecutar git submodule update . Si tiene más preguntas, consulte la página de manual o busque SO; hay muchas preguntas de submodule aquí.

Si, por otro lado, vas a editar los contenidos de Common.git dentro de cada uno de los proyectos, puedes usar git-subtree , que es un contenedor amigable alnetworkingedor de las facultades de fusión del subtree de git. Eso le permitirá considerar los contenidos de common.git como contenido rastreado dentro de cada uno de los proyectos, al mismo time que puede dividir los commit en los mismos y fusionarlos en Common.git y fusionar las actualizaciones de Common.git en los proyectos. .

Este es un caso perfecto para el que se diseñó el git submodule : http://git-scm.com/docs/git-submodule

Dentro del Proyecto1 y el Proyecto2, agrega un submodule del Común. Y luego se git submodule checkout

En el repository clonado, solo almacena el hash del Common git. Así que tienes un git submodule init y pago.