Estoy trabajando con varios repositorios, pero últimamente solo estaba trabajando en uno interno y todo fue genial.
Hoy tuve que comprometer e insertar código en otro, pero tengo algunos problemas.
$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://[email protected]/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed
No hay nada que pueda hacer, eso traería la contraseña nuevamente.
¿Cómo puedo restablecer las credenciales en mi sistema para que Git me solicite la contraseña de ese repositorio?
Yo he tratado:
git config --global --unset core.askpass
para desarmar la contraseña
git config credential.helper 'cache --timeout=1'
para evitar credenciales de caché ...
Nada parece funcionar; ¿Alguien tiene una idea mejor?
windows
git
credentials
balexandre
fuente
fuente
~/.netrc
archivo?netrc
, que almacenaría múltiples credenciales en un archivo cifrado . Es mejor que ingresar su contraseña cada vez para cada sesión, ya que el caché solo "almacena en caché" la contraseña durante un tiempo determinado. Vea un ejemplo completo aquí .Respuestas:
Si este problema se produce en una máquina con Windows, haga lo siguiente.
fuente
credential.helper=manager
. Para probar este tipogit config --list
. Si está configurado astore
continuación, las credenciales no se almacenan en el almacén de credenciales, sino que se almacenan sin cifrar.git:https://github.com
y se me solicitó ingresar mi nombre de usuario / contraseña la próxima vez que cloné un repositorio usando PyCharm. Tenía más de una cuenta de github y la incorrecta estaba almacenada en caché.Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung
.Credential Manager
. Eso también funcionó para mí403
error a través de Bitbucket.El caché de credenciales de Git ejecuta un proceso de demonio que almacena en caché sus credenciales en la memoria y las entrega a pedido. Por lo tanto, matar su git-credential-cache: el proceso daemon arroja todo esto y resulta en volver a solicitarle su contraseña si continúa utilizando esto como la opción cache.helper.
También puede deshabilitar el uso de la caché de credenciales de Git usando
git config --global --unset credential.helper
. Luego restablezca esto, y continuaría teniendo las credenciales en caché disponibles para otros repositorios (si corresponde). Es posible que también deba hacerlogit config --system --unset credential.helper
si esto se configuró en el archivo de configuración del sistema (por ejemplo, Git para Windows 2).En Windows, es mejor que use el ayudante de administrador (
git config --global credential.helper manager
). Esto almacena sus credenciales en el almacén de credenciales de Windows que tiene una interfaz del Panel de control donde puede eliminar o editar sus credenciales almacenadas. Con esta tienda, sus datos están protegidos por su inicio de sesión de Windows y pueden persistir en varias sesiones. El asistente de administrador incluido en Git para Windows 2.x ha reemplazado el asistente anterior wincred que se agregó en Git para Windows 1.8.1.1. Un asistente similar llamado winstore también está disponible en línea y se utilizó con GitExtensions, ya que ofrece una interfaz más guiada por GUI. El asistente de administrador ofrece la misma interfaz GUI que winstore .Extracto de la página de soporte de Windows 10 que detalla el administrador de credenciales de Windows:
Y luego seleccione Credenciales de Windows para editar (= eliminar o modificar) las credenciales de git almacenadas para una URL determinada.
fuente
Control Panel\User Accounts\Credential Manager
Windows 7Reescriba:
Y luego se le pedirá que ingrese sus credenciales nuevamente.
ADVERTENCIA
Fuente: https://git-scm.com/docs/git-credential-store
fuente
.git/config
.Me enfrenté al mismo problema que el OP. Estaba tomando mis viejas credenciales de Git almacenadas en algún lugar del sistema y quería usar Git con mis nuevas credenciales, así que ejecuté el comando
Mostró
Cada vez que lo realizaba
git push
, tomaba mi antiguo nombre de usuario que establecí hace mucho tiempo atrás, y quería usar una nueva cuenta de GitHub para impulsar los cambios. Más tarde descubrí que mis antiguas credenciales de cuenta de GitHub estaban almacenadas en Panel de control → Cuentas de usuario → Administrador de credenciales → Administrar credenciales de Windows .Acabo de eliminar estas credenciales y cuando lo realicé
git push
me pidió mis credenciales de GitHub, y funcionó de maravilla.fuente
Intenta usar el siguiente comando.
Aquí puede obtener varias opciones para administrar sus credenciales (consulte la pantalla a continuación).
O incluso puede probar directamente este comando:
Esto comenzará a solicitar contraseñas nuevamente en cada solicitud de interacción del servidor.
fuente
git: 'credential-manager' is not a git command. See 'git --help'.
removal failed. U_U Press any key to continue... fatal: InvalidOperationException encountered. Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
(con el bonitoU_U
emoji de la nada :))Encontré algo que funcionó para mí. Cuando escribí mi comentario al OP, no pude verificar el archivo de configuración del sistema:
Muestra un
línea. Lo desarmado con
y ahora se olvidan las credenciales.
fuente
git config --global --unset credential.helper
y tal vez sologit config --unset credential.helper
en su repositorio si de alguna manera lo hubiera establecido explícitamente allí.En mi caso, Git está utilizando Windows para almacenar credenciales.
Todo lo que tiene que hacer es eliminar las credenciales almacenadas en su cuenta de Windows:
fuente
se mostrará
credential.helper = manager
(esto está en una máquina con Windows)Para deshabilitar este nombre de usuario / contraseña en caché para su carpeta git local actual, simplemente ingrese
De esta manera, git solicitará la contraseña cada vez, ignorando lo que está guardado dentro del "administrador".
fuente
git: 'credential-' is not a git command. See 'git --help'.
, pero por seguridad estoy votando esta respuesta porque es la única que me hizo solicitar una nueva contraseña. Sin embargo, me pregunto si esto no es solo enmascarar el problema (¿realmente se eliminó la contraseña?)rm -rf ~/.git-credentials
hizo. Tenga en cuenta que puede variar (git help credential-store
)git config --unset credential.helper
borra la entrada. Esta respuesta simplemente lo establece en una cadena vacía y produce el error que @ribamar describió en los comentarios.En Windows 2003 Server con "wincred" *, ninguna de las otras respuestas me ayudó. Tuve que usar
cmdkey
.cmdkey /list
enumera todas las credenciales almacenadas.cmdkey /delete:Target
elimina la credencial con el nombre "Destino".(* Por "wincred" quiero decir
git config --global credential.helper wincred
)fuente
cmdkey
es la contraparte de la línea de comandos de las Credenciales de Windows descritas en la respuesta elegida.Este error aparece cuando está utilizando varias cuentas de Git en la misma máquina.
Si está utilizando macOS, puede eliminar las credenciales guardadas de github.com .
Siga los pasos a continuación para eliminar las credenciales de github.com .
Hecho
fuente
Necesita iniciar sesión con github
username
ypassword
Para borrar el nombre de usuario y contraseña en windows
Panel de control \ Cuentas de usuario \ Administrador de credenciales
Editar la credencial de Windows
Elimine el usuario existente y ahora vaya al símbolo del sistema escriba el comando push que muestra una ventana emergente de github para ingresar el
username
/email
ypassword
.Ahora podemos empujar el código después de cambiar el usuario.
fuente
Obtuve el mismo error al hacer un 'git pull' y así es como lo solucioné.
git config --system --unset credential.helper
git config --system --add credential.helper manager
git pull
fuente
Elimine esta línea de su archivo .gitconfig ubicado en la carpeta de usuario actualmente conectada de Windows:
Esto funcionó para mí y ahora, cuando presiono el control remoto, me pide mi contraseña nuevamente.
fuente
Debe actualizarlo en su Administrador de credenciales.
Vaya a Panel de control> Cuentas de usuario> Administrador de credenciales> Credenciales de Windows. Verá las credenciales de Git en la lista (por ejemplo, git: https: //). Haga clic en él, actualice la contraseña y ejecute el comando git pull / push desde su Git bash y no arrojará más mensajes de error.
fuente
En caso de que se use Git Credential Manager para Windows (que las versiones actuales suelen hacer):
Esto se agregó a mediados de 2016 . Para verificar si se usa el administrador de credenciales:
fuente
Utilizando la última versión de git para Windows en Windows 10 Professional y tuve un problema similar por el cual tengo dos cuentas diferentes de GitHub y también una cuenta de Bitbucket, por lo que las cosas se volvieron un poco confusas para VS2017, extensiones de git y git bash.
Primero verifiqué cómo git manejaba mis credenciales con este comando (ejecute git bash con comandos elevados o obtendrá errores):
Encontré la entrada Credential Manager, así que hice clic en el botón INICIO> escribí Credential Manager y hice clic con el botón izquierdo en el ícono de seguridad amarillo del administrador de credenciales que lanzó la aplicación. Luego hice clic en las pestañas Credenciales de Windows y encontré la entrada para mi cuenta git actual que resultó ser Bit-bucket, así que eliminé esta cuenta.
Pero esto no funcionó, por lo que el siguiente paso fue desarmar las credenciales e hice esto desde el directorio del repositorio en mi computadora portátil que contiene el proyecto GitHub que estoy tratando de enviar al control remoto. Escribí el siguiente comando:
Luego hice un git push y se me solicitó un nombre de usuario de GitHub que ingresé (el correcto que necesitaba) y luego la contraseña asociada y todo se presionó correctamente.
No estoy seguro de la cantidad de problemas que esto está sucediendo, la mayoría de las personas probablemente trabajen desde un único repositorio, pero tengo que trabajar en varios y usar diferentes proveedores, por lo que puede encontrar este problema nuevamente.
fuente
En mi caso, no pude encontrar las credenciales guardadas en el Administrador de credenciales de Windows (Windows 7).
Pude restablecer mis credenciales ejecutando
Honestamente, fue un gran saludo Mary para ver si eliminaría mis credenciales y realmente funcionó.
fuente
Puede eliminar la línea
credential.helper=!github --credentials
del siguiente archivoC:\Program Files\Git\mingw64\etc\gitconfig
para eliminar las credenciales de gitfuente
C:\Users\<current-user>
.git-credentials
archivofuente
En Windows, al menos,
git remote show [remote-name]
funcionará, p. Ej.fuente
Si desea que git olvide las credenciales guardadas y vuelva a ingresar el nombre de usuario y la contraseña, puede hacerlo usando el siguiente comando:
Después de ejecutar el comando anterior, si intenta presionar algo, proporcionará la opción de ingresar el nombre de usuario y la contraseña.
fuente
Lo que finalmente solucionó esto para mí fue usar el escritorio de GitHub, ir a la configuración del repositorio y eliminar user: pass @ de la url del repositorio. Luego, intenté presionar desde la línea de comando y se me solicitaron las credenciales de inicio de sesión. Después de ponerlos en todo, todo volvió a la normalidad. Tanto Visual Studio como la línea de comandos están funcionando y, por supuesto, el escritorio de GitHub.
Escritorio GitHub-> Repositorio-> Configuración del repositorio-> pestaña Remoto
Cambiar el repositorio remoto primario (origen) de:
https: //pork@[email protected]/MyProject/MyProject.git
A:
https://github.com/MyProject/MyProject.git
Clic en Guardar"
Las credenciales serán borradas.
fuente
Para usuarios de macOS:
Este error aparece cuando está utilizando varias cuentas de Git en la misma máquina.
Siga los pasos a continuación para eliminar las credenciales de github.com.
Seleccione github.com y haga clic derecho sobre él
Eliminar "github.com"
Intente nuevamente presionar o tirar para git y le pedirá las credenciales. Ingrese credenciales válidas para la cuenta del repositorio. Hecho
fuente
Para Windows 10, vaya a la ruta a continuación,
Habrá 2 pestañas en esta ubicación,
Haga clic en la pestaña de credenciales de Windows y aquí puede ver sus credenciales de github almacenadas, en el encabezado "Credenciales genéricas".
Puede eliminarlos de aquí e intentar volver a clonar: ahora solicitará un nombre de usuario / contraseña, ya que acabamos de eliminar la credencial almacenada de los sistemas Windows 10
fuente
Para borrar Git Credentials Managers para el caché de Windows:
o
fuente
Pruebe esto cuando nada de lo mencionado anteriormente funcione para usted.
esto eliminará el caché cada 3 segundos y pedirá nombre de usuario y contraseña. Puede volver a ejecutar el comando con valores de tiempo de espera aumentados.
fuente
En nuestro caso, eliminar la contraseña en el archivo .git-credentials del usuario funcionó para nosotros.
fuente
A partir de la respuesta altamente votada de @patthoyts ( https://stackoverflow.com/a/15382950/4401322 ):
Su respuesta usa pero no explica las configuraciones "local" vs. "global" vs. "system". La documentación oficial de git para ellos está aquí y vale la pena leerla.
Por ejemplo, estoy en Linux y no uso una configuración del sistema , por lo que nunca uso un
--system
indicador, pero comúnmente necesito diferenciar entre--local
y--global
configuraciones.Mi caso de uso es que tengo dos credenciales de Github; uno para el trabajo y otro para jugar.
Así es como manejaría el problema:
También vale la pena señalar que hay formas de evitar este problema por completo, por ejemplo, puede usar
~/.ssh/config
's' con claves SSH asociadas para Github (una para el trabajo, una para jugar) y hosts remotos con nombres personalizados correspondientes para resolver la autenticación contextualizando también.fuente
Para agregar a https://stackoverflow.com/a/41111629/579827 de @ericbn aquí hay ejemplos de comandos que he incrustado en un script que ejecuto para actualizar todas mis contraseñas cada vez que se renuevan. Probablemente no se pueda usar tal cual, ya que es bastante específico, pero muestra el uso de la vida real
cmdkey.exe
.fuente
Si está autenticado utilizando su par de claves, puede eliminar o mover su clave privada, o detener el agente de claves e intentarlo.
fuente