repositorio remote origin example eliminar comandos cambiar git proxy git-submodules

remote - ¿Cómo extraigo de un repositorio Git a través de un proxy HTTP?



git push origin master (26)

Nota: mientras que el caso de uso descrito trata sobre el uso de submódulos dentro de un proyecto, lo mismo se aplica a un git clone normal de un repositorio sobre HTTP.

Tengo un proyecto bajo el control de Git. Me gustaría añadir un submódulo:

git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu

Pero me sale

... 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 búsquedas de HTTP para trabajar de manera consistente 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 ( rails por ejemplo).


Configurar proxy para git

mando

git config --global http.proxy http://user:password@domain:port

ejemplo

git config --global http.proxy http://clairton:[email protected]:8080



Como @ user2188765 ya ha señalado, intente reemplazar el protocolo git:// del repositorio con http[s]:// . Ver también esta respuesta.


Como 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 fallo, no eliminar).

Goto -> **Windows** 1. msysgit/installer-tmp/etc/gitconfig Under [http] proxy = http://user:pass@url:port **Linux** 1. msysgit/installer-tmp/setup-msysgit.sh export HTTP_PROXY="http://USER:[email protected]:8080"

Si tiene algún char especial en user / pass use url_encode


Cuando su equipo de red realiza una inspección ssl reescribiendo certificados, luego utiliza una URL http en lugar de una https, combinada con la configuración de esta var funcionó para mí.

git config --global http.proxy http://proxy:8081


En Windows, si no desea poner su contraseña en .gitconfig en el texto plano, puede usar

Lo autentica contra el proxy NTLM normal o incluso de Windows e inicia el proxy de host local sin autenticación.

Para que se ejecute:

  • Instalar cntml
  • Configure Cntml de acuerdo con la documentación para pasar su autenticación proxy
  • Apunte git a su nuevo proxy localhost:

    [http] proxy = http://localhost:3128 # change port as necessary


Esta es una pregunta antigua, pero si está en Windows, considere la posibilidad de establecer HTTPS_PROXY también si está recuperando a través de una URL https. ¡Trabajó para mi!


Establecer Git credential.helper a wincred.

git config --global credential.helper wincred

Asegúrate de que solo haya 1 credencial.

git config -l

Si hay más de 1 y no está configurado para ganar, elimínelo.

git config --system --unset credential.helper

Ahora configura el proxy sin contraseña.

git config --global http.proxy http://<YOUR WIN LOGIN NAME>@proxy:80

Comprueba que todas las configuraciones que agregaste se vean bien ....

git config --global -l

Ahora te va bien!


Esto me funcionó.

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port


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. Bug ya ha sido reportado (por ti no menos).

Asegúrese de eliminar sus pasteles, ya están en google. Edit: Debes haber estado soñando, supongo que no puedes borrarlos. Usa Gist lugar?


Las respuestas anteriores funcionaron para mí cuando mi proxy no necesita autenticación. Si está utilizando un proxy que requiere que se autentique, entonces 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 enfrenta problemas con Git como lo hice yo.


Lo que finalmente funcionó fue establecer la variable de entorno http_proxy . Había configurado HTTP_PROXY correctamente, pero a git aparentemente le gusta más la versión minúscula.


No encuentro trabajo http.proxy ni GIT_PROXY_COMMAND para mi proxy HTTP autenticado. El proxy no se activa de ninguna manera. Pero encuentro una manera de evitar esto.

  1. Instale el corkscrew , u otras alternativas que desee.
  2. Crear un archivo de autenticación. El formato para el authfile de authfile es: authfile user_name:password y user_name , password es su nombre de usuario y contraseña para acceder a su proxy. Para crear un archivo de este tipo, simplemente ejecute el siguiente comando: echo "username:password" > ~/.ssh/authfile .

  3. Edite ~/.ssh/config y asegúrese de que su permiso sea 644 : chmod 644 ~/.ssh/config

Tome github.com como ejemplo, agregue las siguientes líneas a ~/.ssh/config :

Host github.com HostName github.com ProxyCommand /usr/local/bin/corkscrew <your.proxy> <proxy port> %h %p <path/to/authfile> User git

Ahora, siempre que haga algo con [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.


Para mí el git: // simplemente no funciona a través del proxy, aunque el https: // lo hace. Esto causó un poco de dolor de cabeza porque estaba ejecutando scripts que utilizaban git: // por lo que no podía cambiarlos fácilmente. Sin embargo encontré este GEM

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


Para mí lo que funcionó fue:

sudo apt-get install socat

Crea un archivo dentro de tu $ BIN_PATH / gitproxy con:

#!/bin/sh _proxy=192.168.192.1 _proxyport=3128 exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport

No te olvides de darle permisos de ejecución.

chmod a+x gitproxy

Ejecute los siguientes comandos para configurar el entorno:

export PATH=$BIN_PATH:$PATH git config --global core.gitproxy gitproxy


Para ventanas

Ir a -> C: / Usuarios / nombre_usuario / gitconfig

Actualice el archivo gitconfig con los detalles a continuación

[http]

[https]

proxy = https://your_proxy:your_port

[http]

proxy = http://your_proxy:your_port

¿Cómo comprobar su proxy y número de puerto?

Internet Explorer -> Configuración -> Opciones de Internet -> Conexiones -> Configuración de LAN


Parece que estás usando una compilación mingw de Git en Windows (o posiblemente otra que no conozco). Hay formas de depurar esto: creo que todo el trabajo del proxy http para git se realiza mediante curl. Establezca esta variable de entorno antes de ejecutar git:

GIT_CURL_VERBOSE=1

Esto debería al menos darle una idea de lo que está sucediendo detrás de las escenas.


Recorrí el proxy usando https ... algunos proxies ni siquiera comprueban https.

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. c:/git/meantest>git clone http://github.com/linnovate/mean.git Cloning into ''mean''... fatal: unable to access ''http://github.com/linnovate/mean.git/'': Failed connect to github.com:80; No error c:/git/meantest>git clone https://github.com/linnovate/mean.git Cloning into ''mean''... remote: Reusing existing pack: 2587, done. remote: Counting objects: 27, done. remote: Compressing objects: 100% (24/24), done. rRemote: Total 2614 (delta 3), reused 4 (delta 0)eceiving objects: 98% (2562/26 Receiving objects: 100% (2614/2614), 1.76 MiB | 305.00 KiB/s, done. Resolving deltas: 100% (1166/1166), done. Checking connectivity... done


Si solo desea usar proxy en un repositorio específico, no lo necesite en otros repositorios. La forma preferible es la -c, --config <key=value> cuando git clone un repositorio. p.ej

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --config "http.proxy=proxyHost:proxyPort"



También puede editar el archivo .gitconfig ubicado en el directorio% userprofile% en el sistema Windows ( notepad% 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:

[http] proxy = http://proxy.mycompany:80


También puede configurar el proxy HTTP que usa Git en la propiedad de configuración global http.proxy :

git config --global http.proxy http://proxy.mycompany:80


Tuve el mismo problema, con una solución ligeramente diferente: RECONSTRUCCIÓN DE GIT CON SOPORTE DE HTTP

El protocolo git: no funcionó a través de mi firewall corporativo.

Por ejemplo, esto expiró:

git clone git://github.com/miksago/node-websocket-server.git

curl github.com funciona bien, sin embargo, así que sé que mi variable de entorno http_proxy es correcta.

Intenté usar http , como abajo, pero obtuve un error inmediato.

git clone http://github.com/miksago/node-websocket-server.git ->>> fatal: Unable to find remote helper for ''http'' <<<-

Traté de recompilar git de esta manera:

./configure --with-curl --with-expat

Pero todavía tiene el error fatal.

Finalmente, después de varias horas frustrantes, leí el archivo de configuración y vi esto:

# Defina CURLDIR = / foo / bar si su encabezado de curl y sus archivos de biblioteca están en

# / foo / bar / include y / foo / bar / lib directorios.

Recordé entonces, que no había cumplido la curl desde el origen, y así fui a buscar los archivos de encabezado. Efectivamente, no fueron instalados. Ese era el problema. Make no se quejó de los archivos de encabezado faltantes. Así que no me di cuenta de que la opción --with-curl no hizo nada (de hecho, es la predeterminada en mi versión de git ).

Hice lo siguiente para arreglarlo:

  1. Añadido los encabezados necesarios para hacer:

    yum install curl-devel (expat-devel-1.95.8-8.3.el5_5.3.i386 was already installed).

  2. Se eliminó git de /usr/local (ya que quiero que la nueva instalación viva allí).

    Simplemente quité git* de /usr/local/share y /usr/local/libexec

  3. Busque los directorios de inclusión que contienen los archivos de encabezado de curl y de expat , y luego (porque había leído a través de la configure ) los agregó al entorno así:

    export CURLDIR=/usr/include export EXPATDIR=/usr/include

  4. Ran configure con las siguientes opciones, que, una vez más, se describieron en el propio archivo de configure y también fueron los valores predeterminados, pero qué diablos:

    ./configure --with-curl --with-expat

  5. Y ahora http trabaja con git través de mi firewall corporativo:

    git clone http://github.com/miksago/node-websocket-server.git Cloning into ''node-websocket-server''... * Couldn''t find host github.com in the .netrc file, using defaults * About to connect() to proxy proxy.entp.attws.com port 8080 * Trying 135.214.40.30... * connected ...



Ya hay algunas grandes respuestas sobre esto. Sin embargo, pensé que sería un chip, ya que algunos servidores proxy requieren que se autentique con un ID de usuario y una contraseña. A veces esto puede estar en un dominio.

Entonces, por ejemplo, si la configuración de su servidor proxy es la siguiente:

Server: myproxyserver Port: 8080 Username: mydomain/myusername Password: mypassword

Luego, agregue a su archivo .gitconfig usando el siguiente comando:

git config --global http.proxy http://mydomain//myusername:mypassword@myproxyserver:8080

No te preocupes por https . Mientras el servidor proxy especificado admita http y https, entonces una entrada en el archivo de configuración será suficiente.

Luego puede verificar que el comando agregó la entrada a su archivo .gitconfig correctamente haciendo cat .gitconfig :

Al final del archivo, verá una entrada de la siguiente manera:

[http] proxy = http://mydomain//myusername:mypassword@myproxyserver:8080

¡Eso es!


puedes usar:

git config --add http.proxy http://user:password@proxy_host:proxy_port