¿Puedes sincronizar una carpeta individual entre dos repositorys GIT?

Así que estoy usando dos repositorys GIT remotos de desarrollo en el trabajo, cada repos tiene su propio propósito con su propio set de carpetas y files y tal.

Por ejemplo, algo como esto

REPO1

Folder A Folder B Folder C 

REPO2

 Folder C Folder D Folder E 

Entonces, Folder C es la misma carpeta en ambos repositorys, contiene los mismos files, etc. Todo el trabajo de desarrollo nuevo se realiza en REPO1 para la carpeta C, y aproximadamente una vez a la semana, alguien ingresa y fusiona todos los últimos cambios desde REPO1 Folder C a Carpeta REPO2 C.

Esto significa que REPO2 siempre está un poco desactualizado para la Carpeta C. Entonces, es posible sincronizar solo la Carpeta C automáticamente para cada confirmación de REPO1 a REPO2 , sin afectar a otras carpetas en cada informe, ya que esas son diferentes y deben permanecer. ¿de esa manera?

Parece que lo que estás buscando son submodules. Básicamente la idea es:

  • Crea un nuevo repository con el contenido de la Folder C
  • Referencia este nuevo repository como un submodule tanto en REPO1 y REPO2
  • Cuando REPO1 en la Folder C de REPO1 , actualizará este nuevo repository
  • A continuación, solo tendrá que actualizar esta submullera en REPO2

Debería echar un vistazo a http://git-scm.com/book/en/Git-Tools-Submodules para comenzar.


Si estamos hablando de un repository de código, una solución más fácil podría ser:

  • Crea una biblioteca (p. Ej .: un package maven si estás usando java) de fonts de Folder C
  • Retire la Folder C de REPO2 . En su lugar, agregue una reference a esta biblioteca
  • Entonces, tendrías que publicar una nueva versión de esta biblioteca cuando quieras actualizarla en REPO2

La desventaja es que puede no ser fácil (o incluso posible) poner eso en su lugar. Sin embargo, si puedes, será mucho más fácil después.