Nota: si bien el caso de uso descrito se refiere al uso de submódulos dentro de un proyecto, lo mismo se aplica a la normalidad git clone
de un repositorio a través de HTTP.
Tengo un proyecto bajo el control de Git. Me gustaría agregar un submódulo:
git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu
Pero consigo
...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'
Tengo mi HTTP_PROXY configurado:
c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80
Incluso tengo una configuración global de Git para el proxy http:
c:\project> git config --get http.proxy
http://proxy.mycompany:80
¿Alguien ha obtenido recuperaciones HTTP para trabajar constantemente a través de un proxy? Lo que es realmente extraño es que algunos proyectos en GitHub funcionan bien ( awesome_nested_set
por ejemplo), pero otros fallan constantemente ( por ejemplo, los rieles ).
git
proxy
git-submodules
James A. Rosen
fuente
fuente
--global
agit config
.Respuestas:
También puede configurar el proxy HTTP que Git usa en la propiedad de configuración global
http.proxy
:Para autenticarse con el proxy:
(El crédito va a @EugeneKulabuhov y @JaimeReynoso por el formato de autenticación).
fuente
git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080
sintaxis para proporcionar nombre de usuario / contraseñaYa hay algunas respuestas geniales sobre esto. Sin embargo, pensé que me incorporaría, ya que algunos servidores proxy requieren que se autentique con un ID de usuario y contraseña. A veces esto puede estar en un dominio.
Entonces, por ejemplo, si la configuración de su servidor proxy es la siguiente:
Luego, agregue a su
.gitconfig
archivo con el siguiente comando:No te preocupes por eso
https
. Mientras el servidor proxy especificado sea compatible con http y https, será suficiente una entrada en el archivo de configuración.Luego puede verificar que el comando agregó la entrada a su
.gitconfig
archivo con éxito haciendocat .gitconfig
:Al final del archivo verá una entrada de la siguiente manera:
¡Eso es!
fuente
%40
y funcionará.Lo que finalmente funcionó fue establecer la
http_proxy
variable de entorno. Lo había configuradoHTTP_PROXY
correctamente, pero a git aparentemente le gusta más la versión en minúsculas.fuente
http.proxy
en la configuración global de Git? En su pregunta, establecehttp.proxy
en la configuración del repositorio local.https_proxy
https.proxy
parecía funcionar para mí ya que estaba usando https sobre githubhttps_proxy
esto, significa que estabas usandohttps
no dehttp
qué pregunta se trata.Parece que estás usando una compilación mingw de Git en Windows (o posiblemente otra de la que no he oído hablar). Hay formas de depurar esto: creo que todo el trabajo de proxy http para git se realiza mediante curl. Establezca esta variable de entorno antes de ejecutar git:
Esto debería al menos darte una idea de lo que está sucediendo detrás de escena.
fuente
Si solo quiere usar proxy en un repositorio específico, no lo necesite en otros repositorios. La forma preferible es la
-c, --config <key=value>
opción cuando esgit clone
un repositorio. p.ejfuente
--config
varias veces, por ejemplo, cuándo también desea configurarhttps.proxy
.Cuando su equipo de red realiza una inspección SSL reescribiendo certificados, luego usando una URL http en lugar de una https, combinada con la configuración de esta var funcionó para mí.
fuente
También podría editar el archivo .gitconfig ubicado en el directorio% userprofile% en el sistema Windows ( bloc de notas% userprofile% .gitconfig ) o en el directorio ~ en el sistema Linux ( vi ~ / .gitconfig ) y agregar una sección http como se muestra a continuación.
Contenido del archivo .gitconfig:
fuente
Para mí, el git: // simplemente no funciona a través del proxy, aunque el https: // sí. Esto causó un poco de dolor de cabeza porque estaba ejecutando scripts que usaban git: // por lo que no podía cambiarlos fácilmente. Sin embargo encontré este GEM
fuente
Esta es una pregunta antigua, pero si está en Windows, considere configurar HTTPS_PROXY también si está recuperando a través de una URL https. ¡Trabajó para mi!
fuente
https_proxy
la variable de entorno solo (no se configuró la opción git global o proxy de repositorio) en mi caso (msysgit en Windows XP).No encuentro
http.proxy
niGIT_PROXY_COMMAND
trabajo para mi proxy HTTP autenticado. El proxy no se activa de ninguna manera. Pero encuentro una manera de evitar esto.Crea un archivo de autenticación. El formato para
authfile
es:,user_name:password
yuser_name
,password
es su nombre de usuario y contraseña para acceder a su proxy. Para crear el archivo tal, sólo tiene que ejecutar comandos como esto:echo "username:password" > ~/.ssh/authfile
.Edite
~/.ssh/config
y asegúrese de que su permiso sea644
:chmod 644 ~/.ssh/config
Tome github.com como ejemplo, agregue las siguientes líneas a
~/.ssh/config
:Ahora, cada vez que haga algo
[email protected]
, usará el proxy automáticamente. También puede hacer lo mismo con Bitbucket fácilmente .Esto no es tan elegante como otros enfoques, pero funciona como un encanto.
fuente
En Windows, si no desea poner su contraseña en .gitconfig en texto plano, puede usar
Le autentica contra el proxy NTLM normal o incluso de Windows e inicia el proxy localhost sin autenticación.
Para que funcione:
Apunte git a su nuevo proxy localhost:
fuente
Para mí lo que funcionó fue:
Cree un archivo dentro de su $ BIN_PATH / gitproxy con:
No olvides darle permisos de ejecución
Ejecute los siguientes comandos para configurar el entorno:
fuente
git://
URL de protocolo, para los servidores git (raros) que no admiten https. También funciona en Windows, con un archivo por lotes apropiado y Socat para Windows.Configurar proxy para git
mando
ejemplo
fuente
Establezca Git credential.helper en wincred.
Asegúrese de que solo haya 1 credencial.
Si hay más de 1 y no está configurado para wincred eliminarlo.
Ahora configure el proxy sin contraseña.
Verifique que todas las configuraciones que agregó se vean bien ...
¡Ahora estás listo!
fuente
Tuve el mismo problema, con una solución ligeramente diferente: RECONSTRUCCIÓN DE GIT CON SOPORTE HTTP
El
git:
protocolo no funcionó a través de mi firewall corporativo.Por ejemplo, esto agotó el tiempo de espera:
curl github.com
Sin embargo, funciona bien, así que sé que mihttp_proxy
variable de entorno es correcta.Intenté usar
http
, como a continuación, pero recibí un error inmediato.Intenté recompilar git así:
pero aún tiene el error fatal.
Finalmente, después de varias horas frustrantes, leí el archivo de configuración y vi esto:
Entonces recordé que no había cumplido
curl
desde el origen, y así fui a buscar los archivos de encabezado. Efectivamente, no fueron instalados. Ese fue el problema. Make no se quejó de los archivos de encabezado faltantes. Así que no me di cuenta de que la--with-curl
opción no hacía nada (es, de hecho, el valor predeterminado en mi versión degit
).Hice lo siguiente para solucionarlo:
Se agregaron los encabezados necesarios para hacer:
Eliminado
git
de/usr/local
(ya que quiero que la nueva instalación viva allí).I simplemente eliminado
git*
desde/usr/local/share
y/usr/local/libexec
Busqué los directorios de inclusión que contienen los archivos de encabezado
curl
yexpat
, y luego (porque lo había leídoconfigure
) los agregué al entorno de la siguiente manera:Funcionó
configure
con las siguientes opciones, que, nuevamente, se describieron en elconfigure
archivo en sí, y también fueron los valores predeterminados, pero qué diablos:Y ahora
http
funciona congit
mi firewall corporativo:fuente
Solo para publicar esto, ya que es el primer resultado en Google, esta publicación de blog que encontré me resuelve el problema actualizando los certificados curl.
http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html
fuente
git config --global http.sslcainfo NEW_CERTS_BUNDLE.crt
como se describe en: stackoverflow.com/a/8248484/98528 lo hizo por mí! ¡Gracias!Esto me funcionó.
fuente
puedes usar:
fuente
Usar proxychains
actualización: proxychains se suspende, use proxychains-ng en su lugar.
fuente
Para ventanas
Ir a -> C: / Usuarios / nombre_de_usuario / gitconfig
Actualice el archivo gitconfig con los siguientes detalles
[http]
[https]
[http]
¿Cómo verificar su proxy y número de puerto?
Internet Explorer -> Configuración -> Opciones de Internet -> Conexiones -> Configuración de LAN
fuente
El siguiente método funciona para mí:
fuente
Vale la pena mencionar: la mayoría de los ejemplos en la red muestran ejemplos como
Parece que si su proxy necesita autenticación, debe dejar la contraseña de su empresa en la configuración de git. Lo cual no es realmente genial.
Pero, si solo configura el usuario sin contraseña:
Parece que Git (al menos en mi máquina Windows sin credenciales-ayudante) reconoce eso y solicita la contraseña de proxy en el acceso repo.
fuente
Esto no es un problema con su proxy. Es un problema con github (o git). También me falla en git-1.6.0.1 en linux. El error ya ha sido informado (por usted no menos).
Asegúrese de eliminar sus empanadas, ya están en google. Editar: Debe haber estado soñando, supongo que no puedes eliminarlos. ¿Usar Gist en su lugar?
fuente
$ http_proxy es para http://github.com .... $ https_proxy es para https://github.com ...
fuente
Las respuestas anteriores funcionaron para mí cuando mi proxy no necesita autenticación. Si está utilizando un proxy que requiere que se autentique, puede probar CCProxy. Tengo un pequeño tutorial sobre cómo configurarlo aquí,
http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-mobiles.html
Pude empujar, tirar, crear nuevos repositorios. Todo funcionó bien. Asegúrese de hacer una desinstalación limpia y reinstalar la nueva versión si tiene problemas con Git como lo hice yo.
fuente
como @ user2188765 ya ha señalado, intente reemplazar el
git://
protocolo del repositorio conhttp[s]://
. Ver también esta respuestafuente
Eludí el proxy usando https ... algunos servidores proxy ni siquiera comprueban https.
fuente
Como esto fue respondido por muchos, pero esto es solo para el USUARIO de Winodws que está detrás del proxy con autenticación.
Reinstalación (primer error, no eliminar).
si tiene algún carácter especial en user / pass use url_encode
fuente