package de git: synchronization bidireccional de todas las sucursales entre el repository local y remoto

La máquina A tiene connection a Internet mientras que la máquina B no. Ambos tienen un repository local y la máquina A puede interactuar con Github. El desarrollo ocurre en ambas máquinas. git-bundle se usa para mantener los repositorys sincronizados.

Flujo habitual de synchronization:

  1. Cree un package de todas las twigs en B y transfiera el package a A.

  2. Clona el repository github en A. Tira de todas las twigs del package al repository clonado desde github. Empuje el repository actualizado (todas las twigs) a github.

  3. Crea un package de todas las twigs del repository de Github. Transfiera el package a B. Extraiga todas las twigs del package en el repository en B.

Hay una manera de crear un package de todas las twigs del repository. Pero, ¿hay alguna forma de extraer todas las twigs de un package al depósito local de una vez?

La synchronization bidireccional parece ser directa en el caso de repositorys de sucursales individuales.

Como un package es como cualquier otro repository, la única diferencia es que un package se almacena en un único file. Puede usar git pull --all para search todas las twigs del package y fusionarlas en sus correspondientes twigs de seguimiento:

 git pull --all /path/to/bundle 

Sin embargo, --all que la opción --all solo se aplica a git fetch . Esto significa que solo se actualizará la twig local actual (es decir, la referenceda por HEAD ). Si también desea actualizar todas las sucursales locales, tendrá que escribir un script para usted o usar algo como git-up .