2012-02-13 13 views
22

Voglio clonare LibreOffice. Dal sito ufficiale, questo è ciò che è scritto:Come posso clonare un repository Git di grandi dimensioni su una connessione non affidabile?

Tutto il nostro codice sorgente è ospitato in git:

Clone: ​​$ git clone git://anongit.freedesktop.org/libreoffice/core # (browse)

Clone (http): $ git clone http://anongit.freedesktop.org/git/libreoffice/core.git # più lento

tarball: http://download.documentfoundation.org/libreoffice/src/

trova le ultime versioni (di solito nella parte inferiore)

ora, quando scrivo questo comando in git bash per clonare, inizia il recupero. Ma il repository è così grande che, dopo ore, perdo la connettività per qualche secondo, si ripristina il download e non ottengo nulla.

Esiste un modo per scaricare il repository senza problemi anche se si verificano interruzioni?

P.S. Sono un nuovo utente di Git e utilizzo una connessione Internet DSL da 1 MB. Il repository deve essere superiore a 1 GB.

+0

http://stackoverflow.com/questions/1209999/using-git-to-get-just-the-latest-revision – ustun

risposta

20

Il repository è accessibile tramite il http protocollo (protocollo alias muto) qui: http://anongit.freedesktop.org/git/libreoffice/core.git.

È possibile scaricare tutto qui con wget o un altro gestore di download e si avrà un clone del repository. Dopo di che, si rinomina la directory core.git-.git, e utilizzare il seguente comando per indicare git circa l'URL remoto:

$ git remote add remote http://anongit.freedesktop.org/git/libreoffice/core.git 
$ git reset --hard HEAD 
+0

questo funziona per LibreOffice ma cosa succede se il repository non è ospitato da nessun'altra parte. – neogeomat

14

do 'git clone --depth 100' Dovrebbe afferrare l'ultima 100 impegna

+0

Grazie, questo è stato utile per il mio caso –

+3

Se si desidera, è possibile approfondire il clone eseguendo 'git fetch --depth 1000' ... – nishantjr

0

ho usato un server il mio web hosting con accesso alla shell di clonare in primo luogo e poi utilizzato rsync per copiarlo localmente. rsync copierà solo i file rimanenti una volta ripristinati.

+0

in hosting condiviso non viene fornito l'accesso alla shell. – khunshan