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?

kenu.heo
fuente
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/

Amit
fuente
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
perlas ocultas
fuente
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://[email protected]/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 ".

VonC
fuente
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

Savia
fuente
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.

Quirón
fuente
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).

squicc
fuente
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.

Eric Manley
fuente
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://[email protected]/CompanyName/RepoName.git

Luego

git remote show origin

solicitado con

Password for 'https://[email protected]': 

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

Pizarra
fuente
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.

Fernando González Sánchez
fuente