Provare a caricare file da github attraverso un firewall è incredibilmente lento.Qualche suggerimento per soluzioni alternative?
Domanda
Sono un po' titubante nel pubblicare questo post perché non sono del tutto sicuro di quello che sto facendo.Qualsiasi aiuto sarebbe meraviglioso.
Sono su un computer con un firewall/filtro installato.Posso scaricare file senza alcuna difficoltà.Quando provo a clonare file da Github, però, il computer si blocca.Non accade nulla.Crea un file git nella cartella, ma i file chiave non vengono caricati.Per contesto, sto lavorando su un'app Rails, provando a caricare l'autenticazione riposante.
Qualcuno di voi ha avuto a che fare con questa cosa?Qualche suggerimento per far funzionare il clone?Disabilitare il firewall potrebbe essere un'opzione, ma se potessi fare qualcosa senza passare attraverso questo processo, lo apprezzerei.
Soluzione
Github supporta la clonazione utilizzando sia il protocollo git sulla porta 9418 che HTTP sulla porta 80.L'utilizzo di quest'ultimo è molto lento (Riferimento).Dovresti aprire la porta 9418 sul tuo firewall o altrimenti utilizzare la clonazione HTTP.
Altri suggerimenti
O...basta cambiare il prefisso "git://" in "http://"
Se sei protetto da firewall e desideri la velocità di git [aggiornamento:HTTP(S) è praticamente veloce quanto ssh al giorno d'oggi, ma queste informazioni sono comunque utili se SSH è l'unico modo per accedere a un repository] e si ha accesso ssh a una macchina che non è protetta da firewall, quindi si utilizza un tunnel ssh.
Per fare ciò, eseguilo in una finestra e lascialo in esecuzione:
$ ssh username@some_host_not_firewalled -L9418:github.com:9418
Quindi ovunque tu abbia usato il comando precedente:
$ git clone git://github.com/jruby/jruby.git
usa questo invece:
$ git clone git://localhost/jruby/jruby.git
Questa traduzione può essere eseguita automaticamente se modifichi la tua configurazione git (globale):
$ git config --global url.git://localhost/.insteadOf git://github.com/
IL git://
Il protocollo utilizza la porta 9418, quindi dovresti assicurarti che il tuo firewall consenta connessioni in uscita a questa porta.
Utilizzo git clone git@ssh.github.com:xxx.user/xxx.proj
git config --global url."https://".insteadOf git://
Fatto!