git: ‘credential-manager’ no es un comando git

3 minutos de lectura

Tengo un servidor con Ubuntu 18.04.3 LTS. Quiero guardar mis credenciales de git, para no tener que ingresarlas cada vez. Ejecuto el siguiente comando:

git config --global credential.helper store

Entonces yo git pull y obten:

user@host:~/project$ git pull
git: 'credential-manager' is not a git command. See 'git --help'.
usage: git credential-store [<options>] <action>

    --file <path>         fetch and store credentials in <path>

Username for 'https://gitlab.com':

Después de eso, me piden mi nombre de usuario y contraseña. Y luego se imprime el mismo error.

Ya he repetido el mismo proceso varias veces, desarmando el credential.helper opción con:

git config --global --unset credential.helper

  • Que hace git config credential.helper digamos, en la carpeta de ese repositorio?

    – Lasse V. Karlsen

    29 de junio de 2021 a las 14:01

  • git config credential.helper salidas store

    – buena peluca

    29 de junio de 2021 a las 14:10

  • git config --get-all credential.helper mostrará que tiene dos de ellos configurados. Git los prueba en orden. El primero falla como “no encontrado”; el segundo falla debido a la falta de un argumento. Utilizar git config --show-origin para encontrar dónde están definidos los dos comandos.

    – torek

    30 de junio de 2021 a las 0:58

  • La información de @torek combinada: git config --show-origin --get-all credential.helper

    – Santo guacamole

    24 de enero de 2022 a las 15:10

Ejecuté este comando

git config --global --unset credential.helper

y en este momento ya no recibí ningún error después del comando git pull. Tengo git de la versión 2.34.1.windows.1

  • Esto debe establecerse como la mejor respuesta. He probado muchas otras soluciones y no funcionaron.

    – Luis

    26 de abril de 2022 a las 14:33

  • Esto. Esta es definitivamente la mejor respuesta. Gracias.

    – natedog0925

    17 oct 2022 a las 23:18

Él documentación muestra el comando

$ git config --global credential.helper 'store --file ~/.my-credentials'

Así que parece probable que git simplemente ejecuta el comando establecido en credential.helper. El comando usted el conjunto es solo store … que requiere un argumento obligatorio … que no ha proporcionado.

Esto explica por qué el store mando (en realidad git credential-store) no funciona como esperaba.

no se donde esta la denuncia credential-manager proviene, lo más probable es que solo esté informando erróneamente todos los estados de falla como “no es un comando git”.

Es posible que el comando credential-manager que está utilizando esté obsoleto o sea para un sistema operativo diferente. Me encontré con este problema después de seguir un blog sobre cómo guardar las credenciales de GitHub y luego me di cuenta de que eran para Windows en lugar de Linux. También podría ser que no pasé los argumentos apropiados como lo indicó Useless en su respuesta.

De cualquier manera, lo resolví ingresando a ~/.gitconfig y eliminando la línea al final sobre el administrador de credenciales. Sin embargo, intente esto bajo su propio riesgo. No sé si hay consecuencias imprevistas.

Esta respuesta me ayudó a resolver el problema con el siguiente comando:

git config --remove-section credential

¿Ha sido útil esta solución?