2013-04-02 19 views
8

Questa è la prima volta che costruisco il server git. Quando uso TortoiseGit-1.8.1.0-32bit per gestire l'operazione, tutto va bene!Git Clone è troppo lento

Ma se utilizzo il comando git clone o git bash, la velocità del processo clone git è così lenta. Ho allegato due immagini che mostrano le relative velocità di trasferimento git clone di seguito.

Qualcuno può darmi qualche suggerimento?

Cloning via TortoiseGit

Cloning via git command

+2

Definire "lento" per favore. Mostrare l'output del comando potrebbe aiutarci a diagnosticare il problema. –

+0

@RyanBigg vedere i collegamenti – wRAR

+0

Tortoise è configurato in modo diverso? –

risposta

6

ci sono due questioni in gioco qui:

  1. tuo OpenSSL non è aggiornato
  2. Il protocollo SSH è più lento di HTTPS (ma non di molto)

Parte 1. OpenSSL

Dopo aver seguito le indicazioni da questo articolo, http://darrell.mozingo.net/2011/09/29/painfully-slow-clone-speeds-with-msysgit-gitextensions/, ho potenziato con successo il mio throughput di rete per l'operazione git clone da 1 MiB/s per 28 MiB/s. Questo risultato è stato ottenuto aggiornando OpenSSL dalla versione 0.9.8e alla versione 1.0.1e.

Parte 2. protocollo SSH

Il protocollo SSH un po 'più lento rispetto al protocollo HTTPS, ma non abbastanza da giustificare le differenze di velocità che ho citato nella parte 1 o ciò che state vedendo. Si prega di leggere questo articolo per ulteriori informazioni sui protocolli Git: http://media.pragprog.com/titles/tsgit/chap-008-extract.html.

+0

Ehi, hai detto che stai usando OpenSSL 1.0.1e. Questa è una versione vulnerabile del expolit Heartbleed. Raccomando l'aggiornamento a 1.0.1g o successivo il prima possibile. – richoffrails

+0

OpenSSH (il client) non usa OpenSSL in un modo che lo rende vulnerabile a Heartbleed, non credo. – Mark

+0

Il tipico msysgit viene fornito con OpenSSL 4, del 2007, che presenta il bug. È possibile utilizzare [versione 6 (giugno 2015) di OpenSSL, creata da mls-soft] (http://www.mls-software.com/opensshd.html) per salvare la giornata. –

3

Se, come me, è stato configurato per utilizzare TortoiseGit Plink di Putty per la connessione (e utilizzare spettacolo, ecc ...), questo potrebbe aiutare a:

Prova consentendo in Putty (Impostazioni predefinite) le seguenti impostazioni :

  1. SSH -> Auth: "Consenti l'inoltro agente" (credo che questo è quello che cambia "tutto")
  2. SSH -> "Attiva compressione"
  3. sessione -> Selezionare " Impostazioni predefinite "-> Salva

Per me, ciò ha determinato che va da 143.00 KiB/s per 4.50 MiB/s

Spero che questo aiuti.

5

Forse è possibile recuperare solo l'ultima revisione prima e poi andare a prendere il resto:

$ git clone --depth=1 [email protected]:joe/hello-world.git 
$ cd hello-world 
$ git fetch --unshallow 

Grazie this article!