Credenciales en git

De ChuWiki


git nos pide usuarios y password cada vez que intentamos acceder al repositorio remoto. Sin embargo, tenemos varias opciones para almacenar nuestro usuario y contraseña de forma que no nos las pida cada vez. Veámoslas.

Guardar credenciales de Git[editar]

El comando git para que nuestras credenciales se guarden en algún sitio es

git config credential.helper ...

o bien, si no queremos que sea solo para el repositorio en el que estamos trabajando, sino que sea de forma global para toda la instalación de git en nuestro ordenador

git config --global credential.helper ...

Pondremos los comandos de ejemplo con la opción --global, por lo que afectará a todos los repositorios de nuestro ordenador. Puedes quitarla si quieres que sólo afecte al repositorio actual de trabajo.

Guardar credenciales de Git en memoria[editar]

Una opción es almacenar las credenciales en memoria. Esto valdrá durante un tiempo o hasta que apaguemos el ordenador

git config --global credential.helper cache

Esto guardará nuestro usuario y password de git en memoria, por defecto durante 15 minutos. Tienes la opción --timeout <segundos> si quieres cambiar este tiempo

git config --global credential.helper cache --timeout 30000

Almacenar credenciales en fichero[editar]

Se pueden almacenar las credenciales en un fichero. Se almacenan en claro, por lo que no es un método seguro si el ordenador es compartido. El comando es

 git config --global credential.helper store

El fichero por defecto está en ~/.git-credentials, es decir, en el fichero .git-credentials en el directorio HOME del usuario. El fichero se puede cambiar con la opción --file

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

Cambiar las credenciales de git en fichero[editar]

Puesto que el fichero está en texto plano, es sencillo. Basta buscar la password y cambiarla. Un ejemplo del contenido del fichero puede ser este

https://username:password@gitserver.com

Almacenar credenciales en gestor de credenciales de windows[editar]

Este mecanismo teóricamente es válido también para MacOS y para linux, aunque sólo lo he probado con Windows. Las versiones modernas de git vienen con un gestor de credenciales que se integra con el gestor de credenciales del sistema operativo que uses. Si lo tienes instalado, el comando para usarlo sería este

git config --global credential.helper manager

Esto hará que las credenciales las guarde el sistema operativo. En el caso de windows, la primera vez que lo uses te pedirá con un diálogo el usuario y password, lo almacenará y será válido de forma permanente, hasta que cambies el password.

Cambiar la password de Git en Windows[editar]

Si usas el gestor de credenciales de windows y si cambias la password en tu servidor de Git, debes cambiarla también en el almacén de credenciales de windows. En Windows 10, abre el panel de control de windows -> Cuentas de Usuario -> Credenciales de Windows. Te aparecerá una ventana con todas las credenciales que tiene guardadas windows. Busca la de tu servidor Git y pulsa "Editar". Podrás cambiar el usuario/password.

Cambio de password de git en el administrador de credenciales de windows
Cambio de password de git en el administrador de credenciales de windows