2010-03-30 13 views
72

Próbowałem:Jak mogę wysłać komuś repozytorium git?

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

a potem napisz archive.zip a na drugim końcu oni rozpakować Archive.zip do folderu. Ale gdy próbują żadnych poleceń git dowiadują się, że to nie może okazać ważnego repozytorium git

+17

Dla innych, którzy znaleźli ten : powodem, dla którego archiwum git nie jest odpowiednie dla zadania, jest to, że pakietuje tylko drzewo robocze. Ma na celu zrobienie archiwum wszystkich źródeł, do dystrybucji. – Cascabel

Odpowiedz

97

można użyć git bundle i e-mail jeden plik

Patrz „backing up project which uses git

git Pakiet to tylko jeden plik, który można bardzo łatwo utworzyć i ponownie zaimportować, ponieważ może być traktowany jak inny pilot.

Po otrzymaniu można go sklonować lub pobrać z tego pliku.

Jak wspomniano w „Backup of github repo”, będzie prawdopodobnie chcesz na pierwszy e-mail, aby swoją paczkę z wszystkich oddziałów:

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

Jak Andreas wymienia w komentarzach, Scott Chacon niedawno (marzec 2010) napisał "cute" artykuł na ten temat w ProGit blog:

Git's Little Bundle of Joy

+0

Dzięki. Przeczytałem to, ale nie było jasne, czy cała moja historia i gałęzie są zapisane. Czy pozwala mi to na scalenie obu repozytoriów w późniejszym terminie? – Zubair

+3

@Zubair: tak, cała historia jest zapisana, w przeciwieństwie do 'archiwum git'! – VonC

+2

Teraz nie mogę go rozpakować !!! Nie martw się, poluję wokół dokumentów, jak mówimy – Zubair

4

Jak poprzednia odpowiedź brzmiała, git bundle jest drogą.

Jeśli chcesz utworzyć pakiet z użyciem tylko jednej gałęzi (wolę łączenie tylko master) i wysyłanie poprzez e-mail, można zrobić coś jak poniżej:

$ git bundle create /tmp/mygitbackup.bundle master

Powiązane problemy