Configurar git para usar IPv4 en lugar de IPv6 por defecto
(4)
En el 99% de los casos, no deberías estar haciendo esto. La respuesta real a la pregunta es arreglar su conexión IPv6 .
Si /etc/gai.conf
, puede editar /etc/gai.conf
para preferir IPv4 sobre IPv6. gai.conf modifica el comportamiento de getaddrinfo()
, que casi todas las aplicaciones compatibles con IPv6 utilizan para resolver nombres de host.
Casi todos los sistemas se envían con una copia de /etc/gai.conf dentro de su glibc
o libc
. Si falta en / etc, generalmente encuentro que una copia de plantilla está al acecho en / usr / share / doc, para que usted la copie en / etc y modifique en consecuencia.
La comprobación de las variables de entorno y también las opciones de configuración de HTTP no revela algo. ¿Hay alguna forma de hacer esto?
Hay situaciones en las que la actualización de git o IPV6 se ejecuta pero no funciona como se esperaba, por ejemplo, bajo el subsistema Windows Linux, mi solución es simple: solo agregue la ubicación de git / httpb / ssh IPV4 en / etc / hosts.
Use host
para obtener la dirección IPV4 y adjúntela a / etc / hosts con nombre para su propio uso, por ejemplo, 1.1.1.1 git4.server.com
La solución más genérica (que también funciona para BSD) es editar el /etc/ssh/ssh_config
o por usuario ~/.ssh/config
y agregar / reemplazar la entrada:
AddressFamily any
con
AddressFamily inet
También puede establecer esto para un solo host:
Host example.com
AddressFamily inet
Con git 2.8 (marzo de 2016), puede forzar a git fetc
h / push
/ clone
a utilizar IPV4 o IPV6.
(para git pull
, ver más abajo Git 2.16, Q1 2018)
Ver commit c915f11 (03 de febrero de 2016) por Eric Wong ( ele828
) .
(Fusionada por Junio C Hamano - gitster
- in commit e84d5e9 , 24 de febrero de 2016)
connect
&http
: support-4
y-6
switches para operaciones remotasA veces es necesario forzar la operación solo IPv4 o solo IPv6 en redes donde las búsquedas de nombres pueden devolver una dirección no enrutable y detener las operaciones remotas.
-4, --ipv4:
Utilice solo direcciones IPv4, ignorando las direcciones IPv6.
-6; --ipv6:
Utilice solo direcciones IPv6, ignorando las direcciones IPv4.
Actualización de Git 2.16 (Q1 2018): Contrariamente a la documentación, " git pull -4/-6 other-args
" no solicitó al " git fetch
" subyacente que git fetch
IPv4 / IPv6, que se ha corregido.
Ver commit ffb4568 (19 de noviembre de 2017) por Shuyu Wei (``) .
(Fusionada por Junio C Hamano - gitster
- in commit c2b6135 , 27 de noviembre de 2017)