Je travaille derrière un proxy http. J'essaye de cloner l'arborescence des sources d'Android en utilisant leur outil "repo".
Cet outil insiste sur l'utilisation des git://
URL, même si les http://
URL fonctionnent également. Par conséquent, je ne peux pas télécharger la source.
Est-il possible de forcer git
à toujours utiliser http
?
Edit: mon http_proxy est configuré correctement. Par exemple, cela fonctionne:
git clone http://android.git.kernel.org/platform/manifest.git
Mais ce n'est pas le cas (errno = connexion expirée):
git clone git://android.git.kernel.org/platform/manifest.git
Donc cette réponse ne m'aide pas vraiment.
Réponses:
Voici un exemple de réécriture du protocole par défaut pour GitHub:
Documentation Git pour
url.<base>.insteadOf
:la source
git remote -v
montre immédiatement l'effetinsteadOf
et lespushInsteadOf
configurations[email protected]:...
format pour les URL. Cela a fonctionné:git config --global url."https://github.com/".insteadOf '[email protected]:'
pour moi.Je ne sais pas comment cet outil de dépôt utilise Git (et si vous pouvez configurer 'repo' pour utiliser le protocole http), mais vous pouvez essayer de le tromper en utilisant la
url.<base>.insteadOf
variable de configuration (voir les pages de manuel git-config et git-fetch ).Avez-vous essayé d'utiliser
core.gitProxy
pour passer à travers le pare-feu, si c'est le problème avec l'utilisation du protocole git?la source
J'ai eu le même problème avec l'obtention récursive de sous-modules dans un référentiel git. Je suis derrière un pare-feu fou qui n'autorise pas les connexions sortantes sur le port git. Certains des sous-modules des sous-modules ont été codés comme
git://github.com/blah/blah.git
. Cela a tué ma population récursive de sous-modules. La solution de contournement est la suivante:Cela remplace
git://
parhttps://<GITUSERNAME>@
dans toutes les URL de référentiel de sous-modules. Vous devez le remplacer<GITUSERNAME>
par votre propre nom d'utilisateur git. Notez également que le--global
est obligatoire; l'ajout de cette configuration au répertoire du référentiel de base ne fonctionne pas.la source
Vous pouvez vérifier
~/.gitconfig
si vous écrasez SSH par https: //, ou vice versa.la source