software plugin integracion for control git github dvcs

plugin - Empujando a Git devolviendo el código de error 403 fatal: error en la solicitud HTTP



version control git (30)

  1. Haga clic en su repositorio
  2. En el lado derecho, haga clic en "Configuración"
  3. En el panel de opciones del lado izquierdo, haga clic en "Colaboradores"
  4. Agregue el nombre de la persona que conoce en GitHub
  5. Haga clic en "Agregar colaboradores"

Después de esto nuestro "Push to Git" funcionó bien.

Pude clonar una copia de este repositorio sobre HTTPS autenticado. Me he comprometido y quiero volver al servidor de GitHub. Utilizando Cygwin en Windows 7 x64.

C:/cygwin/home/XPherior/Code/lunch_call>git push Password: error: The requested URL returned error: 403 while accessing https://MichaelDrog [email protected]/derekerdmann/lunch_call.git/info/refs fatal: HTTP request failed

También configurarlo con el modo detallado. Todavía estoy bastante desconcertado.

C:/cygwin/home/XPherior/Code/lunch_call>set GIT_CURL_VERBOSE=1 C:/cygwin/home/XPherior/Code/lunch_call>git push Password: * Couldn''t find host github.com in the _netrc file; using defaults * About to connect() to github.com port 443 (#0) * Trying 207.97.227.239... * 0x23cb740 is at send pipe head! * Connected to github.com (207.97.227.239) port 443 (#0) * successfully set certificate verify locations: * CAfile: C:/Program Files (x86)/Git/bin/curl-ca-bundle.crt CApath: none * SSL connection using AES256-SHA * Server certificate: * subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1. 3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L =San Francisco; O=GitHub, Inc.; CN=github.com * start date: 2011-05-27 00:00:00 GMT * expire date: 2013-07-29 12:00:00 GMT * subjectAltName: github.com matched * issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass urance EV CA-1 * SSL certificate verify ok. > GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1 User-Agent: git/1.7.4.3282.g844cb Host: github.com Accept: */* Pragma: no-cache < HTTP/1.1 401 Authorization Required < Server: nginx/1.0.4 < Date: Thu, 15 Sep 2011 22:44:41 GMT < Content-Type: text/plain < Connection: keep-alive < Content-Length: 55 < WWW-Authenticate: Basic realm="GitHub" < * Ignoring the response-body * Expire cleared * Connection #0 to host github.com left intact * Issue another request to this URL: ''https://[email protected]/dereker dmann/lunch_call.git/info/refs?service=git-receive-pack'' * Couldn''t find host github.com in the _netrc file; using defaults * Re-using existing connection! (#0) with host github.com * Connected to github.com (207.97.227.239) port 443 (#0) * 0x23cb740 is at send pipe head! * Server auth using Basic with user ''MichaelDrogalis'' > GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1 Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX User-Agent: git/1.7.4.3282.g844cb Host: github.com Accept: */* Pragma: no-cache < HTTP/1.1 401 Authorization Required < Server: nginx/1.0.4 < Date: Thu, 15 Sep 2011 22:44:41 GMT < Content-Type: text/plain < Connection: keep-alive < Content-Length: 55 * Authentication problem. Ignoring this. < WWW-Authenticate: Basic realm="GitHub" * The requested URL returned error: 401 * Closing connection #0 * Couldn''t find host github.com in the _netrc file; using defaults * About to connect() to github.com port 443 (#0) * Trying 207.97.227.239... * 0x23cb740 is at send pipe head! * Connected to github.com (207.97.227.239) port 443 (#0) * successfully set certificate verify locations: * CAfile: C:/Program Files (x86)/Git/bin/curl-ca-bundle.crt CApath: none * SSL re-using session ID * SSL connection using AES256-SHA * old SSL session ID is stale, removing * Server certificate: * subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1. 3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L =San Francisco; O=GitHub, Inc.; CN=github.com * start date: 2011-05-27 00:00:00 GMT * expire date: 2013-07-29 12:00:00 GMT * subjectAltName: github.com matched * issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass urance EV CA-1 * SSL certificate verify ok. * Server auth using Basic with user ''MichaelDrogalis'' > GET /derekerdmann/lunch_call.git/info/refs HTTP/1.1 Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx User-Agent: git/1.7.4.3282.g844cb Host: github.com Accept: */* Pragma: no-cache * The requested URL returned error: 403 * Expire cleared * Closing connection #0 error: The requested URL returned error: 403 while accessing https://MichaelDrog [email protected]/derekerdmann/lunch_call.git/info/refs fatal: HTTP request failed

Estas son las versiones de git y curl que tengo:

C:/Users/XPherior>git --version git version 1.7.4.msysgit.0 C:/Users/XPherior>curl --version curl 7.21.7 (amd64-pc-win32) libcurl/7.21.7 OpenSSL/0.9.8r zlib/1.2.5 Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp smtp smtps telnet tftp Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz


A veces no hay nada de malo en la configuración, y hay algunos problemas en los servidores github.

https://status.github.com - estado actual de github :)


Acabo de tener el mismo problema y acabo de descubrir cuál es la causa.

Github parece que solo admite la forma ssh de leer y escribir el repositorio, aunque la forma https también muestra "Lectura y escritura".

Entonces necesitas cambiar tu configuración de repositorio en tu PC a ssh way:

  1. edite el archivo .git/config en su directorio de repositorio
  2. buscar url= entrada en la sección [remote "origin"]
  3. cámbielo de url=https://[email protected]/derekerdmann/lunch_call.git a url=ssh://[email protected]/derekerdmann/lunch_call.git . es decir, cambie todos los textos antes del símbolo @ a ssh://git
  4. Guarde el archivo de config y salga. ahora puedes usar git push origin master para sincronizar tu repositorio en GitHub


Agregue el nombre de usuario como parte de la URL y este error ocurre porque el comando git está golpeando a http en lugar de https. Así que establece la url

git remote set-url origin https://<username>@github.com/Path_to_repo.git

Después de lo cual se le pedirá la contraseña:


Creo que @deepwaters obtuvo la respuesta correcta para versiones anteriores. La URL de HTTPS necesita tener el nombre de usuario. Tenía git 1.7.0.4 y git push origin master ni siquiera pedía una contraseña hasta que la añadí.


Descubrí mi propia variación de este problema.

El problema no fue cambiar el protocolo de https a ssl, ¡sino configurar el nombre de usuario y correo electrónico globales de Github! (Estaba tratando de empujar a un repositorio privado.

git config --global user.email "[email protected]" git config --global user.name "Your full name"


Después de cambiar https a http dentro de la aplicación gitbox, funcionó para mí.


Edite el archivo .git/config en su directorio de repositorio

Buscar url= entrada en la sección [remote "origin"]

url=https://github.com/rootux/ms-Dropdown.git de url=https://github.com/rootux/ms-Dropdown.git a https://[email protected]/rootux/ms-Dropdown.git

donde USERNAME es tu nombre de usuario github


En realidad tenía una solución muy simple para esto. Todo lo que hice fue editar el archivo de configuración de git de manera diferente después de clonar el repositorio. La url de origen remoto es lo que necesita editar en su archivo de configuración predeterminado. Debería verse como se ve abajo

[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://*username*@github.com/*username*/*repository*.git [branch "master"] remote = origin merge = refs/heads/master


Esto funciona para mí -:

git remote set-url origin https://[email protected]/user/repo.git

Espero eso ayude


Esto me sucedió porque mi compañero de trabajo deshabilitó accidentalmente el repositorio desde el cual se bifurcó este repositorio. Solo puede verificar que el repositorio original de git (hub) aún exista.



Las otras respuestas que sugieren cambiar a SSH fallan el punto. Se admite HTTPS, pero debe iniciar sesión con su contraseña de GITHUB, no su frase de contraseña SSH (que fue lo que me estaba dando el mismo error exacto).

Estaba teniendo el mismo problema, pero asegurándome de usar mi contraseña real de GitHub en el indicador de la contraseña del terminal reparé la solución sin alterar la configuración, o recurriendo a SSH.

La razón por la que es importante tener en cuenta esto, es que muchas instituciones públicas (como mi escuela) bloquearán SSH, pero permiten HTTPS (que es la única razón por la que comencé a clonar sobre HTTPS en primer lugar).

Espero que ayude a alguien más a tener el mismo problema ...


Lo averigué. He clonado sobre HTTPS. Configurando mis claves SSH públicas, clonando sobre SSH y presionando sobre SSH lo solucioné.


Lo que funcionó para mí es cambiar de http a ssh:

git remote rm origin git remote add origin [email protected]:username/repoName.git

entonces compruébalo con git remote -v


Lo que funcionó para mí:

Mi repo era una bifurcación y todavía estaba vinculado al repo de los padres.

git remote -v

Te diré si es tu repo o no.

git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git

Le permite reconfigurarlo a su repositorio y luego le permite presionar.


Me enfrenté al mismo error y la causa fue estúpida: no tenía privilegios para comprometerme con el repositorio seleccionado. No sabia que tengo que

  1. tenedor seleccionado proyecto primero
  2. clonar repositorio localmente
  3. cometer mis cambios localmente
  4. empujar cambios a mi clon github
  5. solicitud de solicitud de extracción a aguas arriba

como se describe en https://help.github.com/categories/63/articles


Mismo error y resolución en Mac OS X.

Todo funcionaba bien hasta que creé una nueva cuenta en GitHub e intenté empujar

$ git push -u origin master

Y consiguió el error:

remoto: permiso para NEWUSER / NEWREPO.git denegado a OLDUSER. fatal: no se puede acceder a '' https://github.com/NEWUSER/NEWREPO.git/ '': la URL solicitada devolvió el error: 403

Debería haberse solucionado configurando user.name para el repositorio global o actual

$ git config –-global user.name NEWUSER $ git config user.name NEWUSER

Pero no fue así.

Lo solucioné eliminando el OLDUSER asociado con GitHub de la aplicación Keychain Access en la sección de Contraseñas. Entonces el comando de empuje fue exitoso.

$ git push -u origin master

reference


Para aquellos que tienen permiso denegado el error 403 mientras usaban ssh (según Xiao ) o http urls, intente estos comandos

>git config --global --unset-all credential.helper >git config --unset-all credential.helper

con derechos de administrador

>git config --system --unset-all credential.helper


Para cualquier persona curiosa, mi máquina mac vs lucid vm corrió git 1.7.6 vs 1.7.0.4, y el mismo repo se podía enviar desde mi mac (git más reciente) pero no la VM

La misma versión de rizo. Tal vez algunas versiones anteriores de git no admiten los empujes https?


Para poder iniciar sesión definitivamente usando el protocolo https , primero debe configurar su credencial de autenticación en el URI remoto de git:

git remote set-url origin https://[email protected]/user/repo.git

Luego se le pedirá una contraseña cuando intente git push .

De hecho, esto está en el formato de autenticación http. También podría establecer una contraseña:

https://youruser:[email protected]/user/repo.git

Debe tener en cuenta que si hace esto, su contraseña de github se almacenará en texto sin formato en su directorio .git, lo que obviamente es indeseable.


Podría ser un problema contable. La cuenta Github del propietario del repositorio upstream (privado) puede no ser financiera. He visto esto donde expiró la tarjeta de crédito del cliente.


Si está usando Windows, a veces esto puede suceder porque Windows almacena las credenciales para el repositorio externo (en nuestro caso, github) en su propio almacenamiento. Y las credenciales que se guardaron allí pueden ser diferentes de las que necesita ahora.

Entonces, para evitar este problema, simplemente encuentre github en este almacenamiento y elimine las credenciales guardadas. Después de esto, mientras presiona git solicitará sus credenciales y le permitirá empujar.



Tuve el mismo problema. Mi caso fue: Inicialicé git repo localmente antes de crearlo en github, luego intenté agregar una sucursal remota. Resolví mi problema cambiando el orden de las acciones: creé un repositorio en el sitio de github y luego lo inicié localmente. Pero no es el caso de los que les gusta hacer todo desde la línea de comandos como yo.


Tuve este problema en este momento, y resultó que mi servidor /etc/resolver.conf tenía una dirección IP incorrecta. Podría ayudar a los demás.


Un código 403 es "Prohibido". El servidor vio su solicitud y la rechazó. ¿Tienes permiso para empujar a ese repositorio?


Una pequeña adición a la respuesta de Sean .

En lugar de editar el archivo .git/config manualmente, puede usar git remote set-url comando git remote set-url .

En tu caso debería ser:

git remote set-url origin ssh://[email protected]/derekerdmann/lunch_call.git

Me parece más fácil y limpio, que jugar con archivos de puntos.