2012-07-10 19 views
10

Sono seduto su un proxy che consente solo il traffico http/https, sono in grado di clonare un repository da Github, ma devo recuperare/spingere usando l'URL https e nome utente/password.Aggiornamento Git Submodule su https

Ora i miei problemi sono un repository con i sottomoduli, quando eseguo git submodule update timeout e posso solo supporre che ciò accada perché sta utilizzando una connessione SSH che è bloccata. (non mi chiede nemmeno una password per i repository privati)

+0

La questione affronta anche la questione con un Autorizzazione negata (publickey) '' errore. – BlackVegetable

risposta

19

Nel file .gitmodules nella directory principale del repository e nel file .git/config, dovresti trovare una sezione per il tuo submodule. È possibile modificare l'URL lì in modo che sia accessibile tramite la richiesta https piuttosto ssh.

Ovviamente potrebbe essere già un URL ssh, nel qual caso il problema potrebbe essere qualcos'altro, ma questo è il primo posto da verificare.

+0

Questo è stato molto utile ma il mio problema era leggermente più complesso in quanto avevo sottorepos nei sottorepos. Ecco come ho ottenuto tutti i file corretti modificati in Linux: sed -i -e 's/git: \/\ // http: \/\ // g' .gitmodules; trovare. -name config -type f -exec sed -i -e 's/git: \/\ // http: \/\ // g' {} \; – Tristan

+1

L'esecuzione di '' git submodule sync'' dopo la modifica di '' .gitmodules'', come suggerisce la risposta di François Koessler, è un passo necessario affinché funzioni! –

16

Modificare il file .gitmodule con l'url https, ad esempio:

[submodule "vendor/engines/fat_free_crm"] 
    path = vendor/engines/fat_free_crm 
    url = https://github.com/fatfreecrm/fat_free_crm.git 

Poi gestita git submodule sync per riflettere il cambiamento al file .git/config.

Crediti: https://stackoverflow.com/a/6632693/1273077

+1

grazie per aver menzionato 'git submodule sync' – MohamedEzz

Problemi correlati