Se cambió la contraseña de GitHub, ya no se puede retroceder al control remoto


111

Después de cambiar mi contraseña de GitHub, no puedo presionar el control remoto:

$ git push origin master
remote: Invalid username or password.

¿Solo hay que volver a clonar el repositorio?


Simplemente quite y agregue el control remoto nuevamente
onmyway133

1
De Verdad? ¿"Quite y vuelva a agregar el control remoto"? Comenzar desde cero es inconveniente y propenso a errores en algunas operaciones.
Jason S

1
Esto también puede suceder después de habilitar la autenticación de dos factores; en este caso, debe seguir las instrucciones aquí: stackoverflow.com/a/34919582/2898283
mechatroner

@JasonS Volver a agregar un control remoto difícilmente es "comenzar desde cero". Esto solo modificaría las copias locales de las ramas remotas, que de todos modos no modificas directamente; todas las sucursales locales permanecerían intactas, aunque no estoy seguro de si el seguimiento se verá afectado.
jpmc26

@ jpmc26 No me refiero al contenido del repositorio, me refiero a volver a agregar la URL.
Jason S

Respuestas:


187

Si solo cambió la contraseña de su control remoto, no el nombre de usuario, intente el siguiente comando para verificar la información del control remoto:

origen de la demostración remota de git

Esto le pedirá su contraseña para el usuario de git dado, complételo correctamente y ahora intente: -

git pull

o,

git push

Debería funcionar a menos que tenga que cambiar otras cosas como el nombre de usuario o la URL remota, puede echar un vistazo a la siguiente documentación de Git:

https://help.github.com/articles/setting-your-username-in-git/

https://help.github.com/articles/changing-a-remote-s-url/


9
Esto funciona para mi. git remote show originmuestra pronto
Lázaro Fernandes Lima Suleiman

14
Interesante: git remote show originno me incitó, solo showme llamó, así que pensé que había fallado (en lo que necesitaba que hiciera). Pero, por si acaso, lo intenté git push origin mastery eso me impulsó. Entonces ... todavía llegué donde necesitaba estar :)
dwanderson

1
Intenté esto con IntelliJ y Android Studio, y ambos no funcionaron sin reiniciar, probablemente porque las credenciales están almacenadas en caché. Edité la respuesta para reflejar esto.
Oliver Hausler

2
Funcionó tal como se describe para mí.
nabrown

2
Funcionó como se esperaba en Mac. Debe aceptarse la respuesta.
Aakanksha

38

Actualizar la contraseña en su Terminal. Pruebe el siguiente comando, le pedirá la contraseña nuevamente.

git push -u origin master

37

El OP kenu.heo ha solucionado el problema eliminando y volviendo a clonar el repositorio.

Pero para otros:

Depende de su sistema operativo, la versión de git y el protocolo que esté utilizando.

Dependiendo del sistema operativo, tiene formas de almacenar en caché sus credenciales ( OSX KeyChain en Mac , netrc credential helper en Windows o Linux ), y eso podría explicar por qué su inserción no funciona después de cambiar su contraseña de GitHub.
Para un llavero, necesitaría restablecer esa contraseña almacenada en él .

Ese problema de contraseña también sugiere que está utilizando una URL https (no una ssh, que dependería de las claves ssh públicas / privadas, y no estaría influenciada por una contraseña de cuenta de GitHub, ya que la clave SSH pública registrada en su cuenta de GitHub no habría cambiado).

Compruébalo con un git remote -v.

Puede forzar a git a usar su inicio de sesión de GitHub con:

git remote set-url origin https://Username@github.com/Username/MyRepo.git

(reemplace ' Username' y ' MyRepo.git' por sus propios valores)

Luego intente presionar nuevamente, debería solicitar su contraseña de GitHub. Ingrese el nuevo.

Si esto no funciona, verifique si ha activado 2FA (autenticación de 2 formularios). Si ese es el caso, debe generar un PTA (Acceso a token personal).
Vea más en " Configurar clientes de Git, como GitHub para Windows, para que no soliciten autenticación ".


Gracias, uso MacOSX, git 1.8.x. Trabajé eliminando el repositorio local y luego lo recliné.
kenu.heo

2
@ kenu.heo ok. He editado la respuesta para incluir su conclusión, pero también he agregado elementos que podrían ayudar a otros.
VonC

git remote set-url origin https://github.com/shared_repo/shared_repo.gittrabajó para mí en Windows desde Git Shell
Choylton B. Higginbottom

Funciona en Ubuntu 16.04 LTS.
SD

22

En un sistema Windows, ninguno de los pasos funcionó para mí, el problema es que las credenciales se almacenan en el Administrador de credenciales de Windows.

Puede ir al Panel de control -> Cuentas de usuario -> Credential Manager -> Credenciales de Windows

En Credenciales genéricas, encontrará su URL de git, expanda la selección y haga clic en editar.

Una vez editado, simplemente active un git push nuevamente y debería funcionar.

Fuente de información: - Eliminar credenciales de Git


1
Puedo confirmar lo mismo en Windows 10.
tmsss

Esto funcionó para mí. Windows almacenó las credenciales de git y, al actualizar la contraseña para Windows, mi cuenta oficial de git no pudo sincronizarse.
Krishna Oza

16

Por lo que he experimentado, solo necesita volver a ingresar la dirección remota .

Y git pedirá usr / password por el nuevo en lugar de guardar silencio y usar el obsoleto.

vea sus controles remotos, localice cuál desea cambiar

>git remote  
github
gitcafe
company

por ejemplo, si cambió la contraseña del repositorio de su empresa, puede hacer lo siguiente:

>git remote remove company

Esto no tocará su carpeta , no tocará sus confirmaciones . Esto solo elimina una cadena de URL de git

Luego, agregue esta URL nuevamente:

>git remote add company https://git.AyCramba.com/xxx.git

Empuje hacia él:

>git push company master
username for 'https://git.AyCramba.com':
password for 'https://git.AyCramba.com':

Entonces empieza a empujar

Espero eso ayude.


1
Lo git remote set-urlque menciono en mi respuesta hace un quitar + agregar.
VonC

3

El nombre de usuario y la contraseña pueden almacenarse en Windows Credential Manager. Verifique y actualice allí, si es necesario.

(Sé que es un poco obvio y simple, pero podría ayudar a algunas personas).


2

Para mí, ejecutar git en Windows7 usando git-bash, ejecutando:

git push origin master

Lo tengo funcionando. Eso llevó a Windows7 a solicitar nuevamente mis créditos de git, y luego los almacenó (donde sea que lo haga Windows), para actualizar la contraseña.


1

Ok, la publicación original es bastante antigua, pero es el mejor resultado en Google y ninguna de las respuestas me funcionó. Varias otras publicaciones de SO y GH tampoco funcionaron. ¡Publicando esto para ayudar a cualquiera que me siga aquí!

Mi situación es ligeramente diferente: cuenta personal de GH, empujando a un repositorio privado de la empresa, usando SSH y la línea de comando git en Mac. Mi contraseña no se almacena ni en mi .gitconfigni en ningún llavero ni en git credential.helper.

En el siguiente ejemplo, PersonalName es mi cuenta de GH, CompanyName es la empresa (el propietario del repositorio en GH) y RepoName es el repositorio.

Mi mensaje de error original también era algo diferente: intentar git push origin masterresultó en

remote: Repository not found.
fatal: repository 'https://github.com/CompanyName/RepoName.git/' not found

El control remoto estaba funcionando antes de cambiar mi contraseña de GH y no quería quitar el control remoto porque tenía cambios locales que necesitaba presionar.

Finalmente, una respuesta de sietes a esta pregunta en el Foro de la comunidad de GitHub me indicó la dirección correcta. La clave fue vincular el nombre de mi cuenta de GH con el repositorio remoto (privado).

Esto funcionó para mí:

git remote set-url origin https://PersonalName@github.com/CompanyName/RepoName.git

Luego

git remote show origin

solicitado con

Password for 'https://PersonalName@github.com': 

Pude ingresar mi nueva contraseña, ver los detalles remotos y lo git push origin masterlogré.


0

Si ha configurado Github 2FA Auth, necesita un token de acceso personal (en lugar de su contraseña de github en git cli), siga estas instrucciones para crearlo: https://help.github.com/en/github/authenticating-to -github / creando-un-token-de-acceso-personal-para-la-línea-de-comandos

Entonces haz algo como

maestro de git checkout

git pull origin <--- En este punto se le pedirá sus credenciales, ingrese su usuario de github normal y como contraseña pegue el token generado en el enlace de arriba.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.