2010-03-30 28 views
72

que he intentado:¿Cómo puedo enviar a alguien un repositorio de git?

git archive HEAD --format=zip > archive.zip 

: y luego enviar por correo electrónico archive.zip y en el otro extremo se descomprima archive.zip en una carpeta. Pero cuando tratan todos los comandos git se enteran de que esto no produce un repositorio git válida

+17

Para otros que se encuentran este : la razón por la que el archivo git no es adecuado para el trabajo es que solo empaqueta el árbol de trabajo. Es para hacer cosas como hacer un tarball de toda tu fuente, para distribución. – Cascabel

Respuesta

97

Usted podría utilizar git bundle y correo electrónico un archivo único

Ver "backing up project which uses git"

Un git paquete es solo un archivo que puede crearse muy fácilmente e importarse de nuevo, ya que puede tratarse como otro control remoto.

Una vez recibido, puede clonarlo o recuperarlo de ese archivo.

Como se mencionó en "Backup of github repo", es probable que desee para el primer correo electrónico para que su paquete con todos ramas:

$ git bundle create /tmp/foo-all --all 

Como Andreas menciones en los comentarios, Scott Chacon recientemente (marzo de 2010) escribió un artículo "mono" sobre este tema en el ProGit blog:

Git's Little Bundle of Joy

+0

Gracias. Leí esto, pero no estaba claro si se guardaban todos mis antecedentes y ramas. También me permite fusionar ambos repositorios en una fecha posterior? – Zubair

+3

@Zubair: sí, toda la historia se guarda, al contrario que 'git archive'! – VonC

+2

¡Ahora no puedo desvincularlo! No te preocupes, estoy buscando los documentos mientras hablamos – Zubair

4

Como respuesta anterior dijo, git bundle es el camino.

Si desea crear un paquete de usar solamente una rama (yo prefiero la agrupación único maestro) y envío a través de correo electrónico, se puede hacer algo, como a continuación:

$ git bundle create /tmp/mygitbackup.bundle master

Cuestiones relacionadas