Exportar git con historial de versiones

Necesito exportar un contenido de repository git e importarlo en un repository de destino. Conozco dos alternativas para hacerlo, pero no resuelven mi problema

a) Agregue el repository de origen como control remoto y realice una combinación con el destino. No puedo usar esto ya que ambos repositorys no están en la misma networking

b) Utilice git archive y copie los contenidos al destino. En este file git, la información de revisión se pierde.

Necesito algo que haga un file junto con el historial de versiones y me permita unirme al objective. ¿Cómo puede hacerse esto?

git bundle se proporciona para este propósito exacto.

Ejemplo:

  1. Agrupe su repository fuente en su totalidad

    git bundle create my_repo.bundle --all

  2. Lleve “ my_repo.bundle '' a donde está su objective

  3. Desde su destino, cargue sus objects de confirmación de origen

    git bundle unbundle my_repo.bundle

    … desde ese punto puede fusionar / volver a establecer / seleccionar con precisión las confirmaciones de origen deseadas en su repository de destino hasta el contenido de su corazón.

    De lo contrario, tirar funciona de la misma manera:

    git pull my_repo.bundle

En comparación con la clonación, los packages son más fáciles de transferir porque son más pequeños ya que sus files no se transportan en su estado de desprotección.

Otras razones para usar el package:

  • A diferencia del uso de clone --bare (que no comtesting sus files), los packages se crean y empaquetan como un único file para que no necesite compression / tarballing adicionales.

  • También puede simplemente utilizar su repository de origen (o simplemente el directory .git), pero estará cargando todo el exceso de memory caching y basura que se acumula bajo .git /.

Git clona el repository en una memory USB, computadora portátil u otro medio de transferencia de datos. Engancha eso a la otra máquina, agrega agrega el medio como control remoto y tira / combina los cambios desde allí …

Cualquier clon del repository en realidad contiene todo el historial, por lo que la pregunta es cómo puedes get un clon en la otra máquina.

Ver también: esta pregunta

Si lo desea, puede crear una bifurcación de su repository actual. Avísame si entendí bien esto: deseas clonar un repository git en particular. ¿Trabajar en el clon y luego fusionar los cambios en el repository original?

Esto se hace al crear un tenedor de su repository y luego extraer los cambios de la fuente original para realizar cambios.

Puede comprimir la carpeta completa del repository, luego copyrla en la estación de trabajo de destino (a través de la memory USB, etc.) y agregar ese repository local como repository remoto. Luego puedes search y fusionar.