¿Cómo puedo encadenar repositorys de GIT en un entorno de networking de zapatillas?

Estoy trabajando en el desarrollo de un código para una aplicación integrada. Mis sistemas integrados ejecutan linux / git y tienen un comstackdor nativo a bordo, pero no tienen hardware o capacidad de networking. Puedo felizmente montar una unidad USB en estos sistemas integrados.

Tengo mi repository maestro (sin connection) de git para el código fuente en mi PC de escritorio, y desarrollo un poco allí en un clon del repository. El flujo de trabajo simple / básico de Git está bien.

Lo que imagino en mi mente es crear un clon del repository en una memory USB y luego en una networking de navigation entre mis sistemas embebidos.

Me gustaría que el repository git a bordo de cada sistema integrado sea un clon del repository USB.

Entonces, el flujo de trabajo que visualizo es este:

  1. Haga algunos cambios en uno de mis sistemas integrados. Añádalos y confírmelos al clon git local.
  2. Monte la unidad USB miniatura en el sistema integrado e inserte los cambios desde el repository local al repository de la unidad flash.
  3. Monte la memory USB en mi PC de escritorio y envíe los commits al repository principal / descubierto
  4. Tire los cambios en mi tree de desarrollo de escritorio.

Y luego me gustaría hacer lo contrario de esto:

  1. Haga cambios en mi escritorio trabajando en el tree git, agregue, comprométalo, empújelos al repository principal.
  2. Monte la memory USB en mi PC de escritorio, tire / busque los cambios maestros en la clonación git en la memory USB.
  3. Monte la memory USB en un sistema integrado, tire / busque los cambios en el tree de trabajo local en el sistema integrado …

El objective final es poder realizar cambios de desarrollo en mi PC de escritorio o en cualquiera de mis sistemas integrados (que no tienen capacidad de networking) y mantener todo sincronizado.

es posible? ¿Es esto posible sin grandes cantidades de git vudú?

Me he sentado a trabajar en esto en un par de ocasiones y sigo corriendo hacia los lockings de carreteras. No creo que quiera un repository oculto en la memory USB porque quiero poder cambiar las dos direcciones a través de la memory USB.

Podría poner el repository principal oficial en la memory USB y tener todas mis copys de trabajo apuntando a eso, supongo, pero eso no me da sentimientos cálidos y confusos sobre la security de mi copy maestra si se entierra.

¡Espero algo 'simple' que pueda entender y hacer yo mismo!

[La suposition aquí es que estamos hablando de git regular sin extras ni complementos]

Sí, de hecho puedes. Hay algunas cosas para recordar aquí:

  • El repository git es solo el directory ".git"
  • El repository de git no "sabe" dónde está, por lo que puede moverlo o copyrlo sin problemas
  • El repository de git tiene un listdo de files de text donde están sus "controles remotos" (es decir, donde puede empujar / jalar)
  • No existe un repository "maestro" de git: todos los repositorys son iguales

Entonces, en su forma más primitiva, podría copyr el directory .git con "cp -a" y estaría bien.

Por supuesto, esa no es la mejor manera … es probable que desee empujar y tirar y cosas de ese tipo. Entonces, lo que podemos hacer es llamar a un repository en su server el repository "remoto" (es decir, nuestro "maestro") tanto para el dispositivo USB como para su escritorio.

Y llama al repository usb stick el "remoto" para los sistemas integrados.

La forma más fácil de hacerlo es la siguiente (probablemente ya hayas hecho los dos primeros):

  • Crea tu repository en tu server
  • git clone el repository del server a un directory en su escritorio
  • Enchufe el dispositivo USB en su escritorio
  • git clone el repository del server a un directory en el usb stick
  • Retire el dispositivo USB y conéctelo al sistema integrado
  • git clone el repository de su dispositivo USB a su sistema integrado (repita los últimos 2 pasos para todos los integrados)

Y eso es. Ahora puede presionar y jalar desde incorporado a usb, y desde usb a server y desde server a escritorio y usb.