¿Cómo cambiar el usuario git en la terminal?

46

Estoy tratando de empujar un proyecto a un repositorio remoto desde la línea de comandos.

Desde mi directorio local, presioné:

$ git push

y obtenga el siguiente error:

remoto: permiso de nombre de usuario1 / repo.git denegado a nombre de usuario2.
fatal: no se puede acceder a ' https://github.com/username1/repo.git/ ':
la URL solicitada devolvió el error: 403

¿Dónde username1está el nombre de usuario de mi cuenta de github que aloja el repositorio al que quiero ingresar y username2es una cuenta antigua que solía usar en esta máquina?

Estoy usando OS X Yosemite (v10.10.5) en un Macbook Air. Y preferiría usar https en lugar de ssh .

¿Cómo me actualizo para username1poder empujar con éxito a mi control remoto?

Editar: para ser claros, no estoy hablando simplemente de editar el config userobjeto, por ejemplo,

$ git config --global user.name "Billy Everyteen"
$ git config --global user.email "[email protected]"

No tienen nada que ver con la autenticación. Mi pregunta trata sobre la autenticación de usuario necesaria para escribir en mi repositorio remoto.

Cortacésped
fuente
Gracias. Pero eso solo se trata de configurar el nombre de usuario. No autenticación En otras palabras, esa documentación nos muestra cómo asociar el nombre de quién obtiene crédito por los commits. Pero en realidad no autoriza al usuario a enviar confirmaciones.
Mowzer
1
Es posible que pueda cambiarlo usando el comando documentado en git-scm.com/docs/gitcredentials . Alternativamente, si desea borrar las credenciales, puede consultar esta pregunta stackoverflow.com/questions/15381198/… .
John
¡Esto no resuelve el problema!
Mihail Salari
¿Qué pasa si no quiero cambiar la configuración local de git?
Arkady

Respuestas:

42

Además de cambiar el nombre de usuario y el correo electrónico desde la terminal usando git config:

$ git config --global user.name "Bob"
$ git config --global user.email "[email protected]"

deberás eliminar la información de autorización de Keychain. Esto es algo con lo que también he luchado hasta que descubrí que también tenía un certificado en mi Llavero.

Abra el acceso al llavero, haga clic en Todos los artículos y busque git. Obtendrá algunos artículos como este:

Captura de pantalla

Borra los. Ahora intente presionar el repositorio y git le pedirá que escriba la contraseña para el usuario y estará listo.

Dijo Sikira
fuente
1
¿Qué pasa con los usuarios de Windows?
Aks ..
2
Tengo varias cuentas, ¿qué debo hacer?
Amerrnath
Estoy teniendo el mismo problema con win7. No estoy seguro de cuál es la solución :(
Fiddle Freak
22

Para usuarios de cli, solo use esto: git config credential.username 'Billy Everytee'

Jackman
fuente
Necesita deshabilitar 2FA temporalmente.
bbaassssiiee
10

Para usuarios de Windows:
Siga las instrucciones:
Panel de control >> Cuenta de usuario >> Administrador de credenciales >> Credencial de Windows >> Credencial genérica

eliminar credencial git.
la próxima vez que presione el repositorio, le pedirá una credencial.
Responda la referencia para una explicación detallada

Shubham Chadokar
fuente
¡Gracias! Eso era lo que estaba buscando en Windows.
JCF
@JCF ¡Bienvenido! ¡Me alegra que haya ayudado!
Shubham Chadokar
6

Lista tu configuración de git.

git config --list

Cambiar nombre de usuario y correo electrónico global

git config --global user.name "Nanhe Kumar"
git config --global user.email "[email protected]"

Cambiar nombre de usuario y correo electrónico para el repositorio actual

git config  user.name "Nanhe Kumar"
git config  user.email "[email protected]"

Cambie su URL de repositorio si está utilizando bit bucket.

nano .git/config

Este archivo será algo como esto. [core] repositoryformatversion = 0 fileMode = false bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = https://[email protected]/nanhekumar/myproject.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master

[user]
        name = Nanhe Kumar
        email = [email protected]
Nanhe Kumar
fuente
Esta es la respuesta más completa teniendo en cuenta el alcance del repositorio global y local.
Jordan Stefanelli