it-swarm-eu.dev

Come convertire `git:` urls in `http:` urls

Sto lavorando dietro un proxy http. Sto cercando di clonare l'albero dei sorgenti di Android usando il loro strumento "repo".

Questo strumento insiste sull'uso di git:// URL, anche se http:// Anche gli URL funzionano. Di conseguenza, non riesco a scaricare la fonte.

È possibile forzare git per usare sempre http?

Modifica: il mio http_proxy è configurato correttamente. Ad esempio, funziona:

git clone http://Android.git.kernel.org/platform/manifest.git

Ma questo non funziona (errno = Timeout della connessione):

git clone git://Android.git.kernel.org/platform/manifest.git

Quindi questa risposta non mi aiuta davvero.

129
noamtm

Ecco un esempio di riscrittura del protocollo predefinito per GitHub:

git config --global url.https://github.com/.insteadOf git://github.com/
286
Tobu

Non so come questo strumento repo usi Git (e se puoi configurare 'repo' per usare il protocollo http), ma puoi provare a ingannarlo usando url.<base>.insteadOf variabile di configurazione (vedi git-config e git-fetch manpage).

Hai provato a usare core.gitProxy per passare attraverso il firewall, se è il problema con l'utilizzo del protocollo git?

35
Jakub Narębski

Ho avuto lo stesso problema con ottenere ricorsivamente i sottomoduli in un repository git. Sono dietro un firewall pazzo che non consente connessioni in uscita sulla porta git. Alcuni dei sottomoduli dei sottomoduli sono stati codificati come git://github.com/blah/blah.git. Questo ha ucciso la mia popolazione ricorsiva di sottomoduli. La soluzione è la seguente:

git config --global url."https://<GITUSERNAME>@".insteadOf git://

Questo sostituisce git:// con https://<GITUSERNAME>@ in tutti gli URL del repository del sottomodulo. Devi sostituire <GITUSERNAME> con il tuo nome utente git. Si noti inoltre che il --global è obbligatorio; semplicemente l'aggiunta di questa configurazione alla directory del repository di base non funziona.

22
crcastle

Puoi verificare in ~/.gitconfig se stai sovrascrivendo SSH con https: // o viceversa.

3
piperchester