Estoy trabajando detrás de un proxy http. Estoy tratando de clonar el árbol fuente de Android usando su herramienta "repositorio".
Esta herramienta insiste en usar git://
URL, aunque las http://
URL también funcionan. Como resultado, no puedo descargar la fuente.
¿Es posible forzar git
a usar siempre http
?
Editar: mi http_proxy está configurado correctamente. Por ejemplo, esto funciona:
git clone http://android.git.kernel.org/platform/manifest.git
Pero esto no (errno = Tiempo de conexión agotado):
git clone git://android.git.kernel.org/platform/manifest.git
Entonces esta respuesta realmente no me ayuda.
Respuestas:
Aquí hay un ejemplo de reescritura del protocolo predeterminado para GitHub:
Documentación de Git para
url.<base>.insteadOf
:fuente
git remote -v
muestra inmediatamente el efectoinsteadOf
y laspushInsteadOf
configuraciones[email protected]:...
formato para las URL. Esto funcionó:git config --global url."https://github.com/".insteadOf '[email protected]:'
para mí.No sé cómo esta herramienta de repositorio usa Git (y si puede configurar 'repo' para usar el protocolo http), pero puede intentar engañarlo usando la
url.<base>.insteadOf
variable de configuración (consulte las páginas de manual de git-config y git-fetch ).¿Has intentado usar
core.gitProxy
para pasar a través del firewall, si es el problema con el uso del protocolo git?fuente
Tuve este mismo problema con obtener submódulos de forma recursiva en un repositorio git. Estoy detrás de un firewall loco que no permite conexiones salientes en el puerto git. Algunos de los submódulos de los submódulos se codificaron como
git://github.com/blah/blah.git
. Esto mató a mi población recursiva de submódulos. La solución es la siguiente:Esto reemplaza
git://
conhttps://<GITUSERNAME>@
en todos los URL de repositorio de submódulos. Debe reemplazarlo<GITUSERNAME>
con su propio nombre de usuario git. También tenga en cuenta que--global
se requiere; simplemente agregar esta configuración al directorio del repositorio base no funciona.fuente
Puede verificar
~/.gitconfig
si está sobrescribiendo SSH con https: // o viceversa.fuente