2010-03-30 2 views
72

Ich habe versucht:Wie kann ich jemandem ein Git-Repository mailen?

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

: und ich eine E-Mail archive.zip dann und am anderen Ende sie archive.zip in einen Ordner entpacken. Aber wenn sie keine git Befehle ausprobieren sie feststellen, dass dies kein gültiges git-Repository erzeugen

+17

Für andere, die diese finden : Der Grund, warum das git-Archiv nicht für den Job geeignet ist, ist, dass es nur den Arbeitsbaum packt. Es geht um Dinge wie das Erstellen eines Tarballs von all Ihren Quellen, für die Verteilung. – Cascabel

Antwort

97

Sie verwenden könnte git bundle und E-Mail eine einzige Datei

Siehe „backing up project which uses git

Ein git bundle ist nur eine Datei, die sehr einfach erstellt und wieder importiert werden kann, da sie wie eine andere Fernbedienung behandelt werden kann.

Einmal empfangen, können Sie es klonen oder aus dieser Datei holen.

Wie in "Backup of github repo" erwähnt, werden Sie wahrscheinlich für die erste E-Mail wollen Ihr Bündel mit alle Zweige machen:

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

Wie Andreas erwähnt in den Kommentaren, Scott Chacon vor kurzem (März 2010) schrieb einen "netten" Artikel zu diesem Thema in den ProGit blog:

Git's Little Bundle of Joy

+0

Danke. Ich habe das gelesen, aber es war nicht klar, ob alle meine Geschichte und Zweige gespeichert sind. Ermöglicht es mir auch, beide Repositories zu einem späteren Zeitpunkt zusammenzuführen? – Zubair

+3

@Zubair: Ja, die ganze Geschichte wird gespeichert, im Gegensatz zu 'git archive'! – VonC

+2

Jetzt kann ich es nicht entbündeln !!! Mach dir keine Sorgen, ich jage um die Dokumente, wie wir sprechen – Zubair

4

Wie vorherige Antwort sagte, git bundle ist der Weg.

Wenn Sie ein Bündel aus mit nur einem Zweig erstellen wollen (ich ziehe die Bündelung nur Master) und das Senden über E-Mail, können Sie so etwas wie unten tun:

$ git bundle create /tmp/mygitbackup.bundle master

Verwandte Themen