Configuración de git#
Después de instalar git en el equipo, se debe realizar la configuración de la herramienta utilizando el comando git config como está descrito en la documentación.
Configuración de la identidad de usuario en git#
El programa git necesita conocer el nombre y dirección de correo de la persona que crea los commits.
console
$ git config --global user.name "Andrés Hernández"
$ git config --global user.email "andres.hernandez@ciencias.unam.mx"
Manejo de espacios en blanco en git#
$ git config --global core.whitespace blank-at-eol,blank-at-eof,space-before-tab
Configuración de caracteres de fin de línea en git#
GIT puede corregir los caracteres de fin de línea que utiliza Windows (CR-LF) para que sean compatibles con los de otros sistemas operativos más avanzados como GNU/Linux, macOS y BSD (LF).
Si utilizas alguno de estos sistemas operativos, entonces basta con activar la opción para convertir CR-LF en LF en los archivos de entrada.
$ git config --global core.autocrlf input
Cuando utilizas Windows, es necesario activar la conversión de CR-LF en LF en todos los casos.
$ git config --global core.autocrlf true
Verificar la configuración de git#
Verificar que la identidad del usuario se haya guardado en el archivo ~/.gitconfig.
console
$ cat ~/.gitconfig
[user]
name = Andres Hernandez
email = andres.hernandez@ciencias.unam.mx
[core]
whitespace = blank-at-eol,blank-at-eof,space-before-tab
autocrlf = input
Configuración de credenciales de git#
Configurar el almacenamiento de las credenciales en GIT:
- Almacenamiento persistente de las credenciales en disco (
git-credential-store) - Almacenamiento temporal de las credenciales en memoria RAM (
git-credential-cache)
Limpia la configuración del programa helper que ayuda con el almacenamiento de credenciales y parámetros de autenticación de GIT.
console
tonejito@debian-12:~$ git config --global --unset-all credential.helper
Danger
Esta configuración se realiza para propósitos educativos con las siguientes restricciones
- Las credenciales se almacenan en TEXTO PLANO en el archivo
~/.cache/git/.git-credentials - Esta configuración no es recomendable para entornos de producción
-
La configuración recomendada se realiza con
git-credential-oauthogit-credential-manager, que manejan tokens OAuth para la autenticación- El tiempo de validez del token OAuth de GitLab es de dos horas, después de este tiempo se tendrá que seguir el flujo de nuevo (meter el código en la página de autenticación).
-
Esta característica está en la documentación de GitLab:
Caché de credenciales con git-credential-cache#
Con el siguiente comando se configura git para guardar temporalmente las credenciales en memoria RAM por 1 día:
console
tonejito@debian-12:~$ git config --global --add credential.helper 'cache --timeout 86400'
Note
- Es posible almacenar las credenciales por 1 semana si se cambia el parámetro a
604800
| Valor | Segundos |
|---|---|
| 1 m | 60 |
| 1 h | 3600 |
| 1 d | 86400 |
| 1 w | 604800 |
| 1 m | 2678400 |
| 1 y | 31622400 |
Verificar la configuración
console
tonejito@debian-12:~$ cat ~/.gitconfig
... ... ...
[credential]
...
helper = cache --timeout 86400 ✅
Autenticación con git-credential-oauth#
Instala git-credential-oauth
console
root@debian-13:~# apt install git-credential-oauth
man ...
Configura git-credential-oauth en el equipo
console
tonejito@debian-12:~$ git config --global --add credential.helper oauth
Verifica la configuración
console
tonejito@debian-12:~$ cat ~/.gitconfig
... ... ...
[credential]
...
helper = oauth ✅
Almacenamiento de credenciales con git-credential-store#
Inicializar la configuración del almacenamiento de credenciales
console
tonejito@debian-12:~$ git config --global --add credential.helper 'store --file ~/.cache/git/.git-credentials'
Verificar la configuración
console
tonejito@debian-12:~$ cat ~/.gitconfig
... ... ...
[credential]
...
helper = store --file ~/.cache/git/.git-credentials ✅
Crear los directorios y archivos necesarios con los permisos adecuados
```console tonejito@debian-12:~$ mkdir -vp ~/.cache/git/credential/ mkdir: created directory '/home/tonejito/.cache/' mkdir: created directory '/home/tonejito/.cache/git/' mkdir: created directory '/home/tonejito/.cache/git/credential/'
tonejito@debian-12:~$ chmod -c 0700 ~/.cache/git/ ~/.cache/git/credential/ mode of '/home/tonejito/.cache/git/' changed from 0755 (rwxr-xr-x) to 0700 (rwx------) ✅ mode of '/home/tonejito/.cache/git/credential/' changed from 0755 (rwxr-xr-x) to 0700 (rwx------) ✅
tonejito@debian-12:~$ touch ~/.cache/git/.git-credentials
tonejito@debian-12:~$ chmod -c 0600 ~/.cache/git/.git-credentials mode of '/home/tonejito/.cache/git/.git-credentials' changed from 0644 (rw-r--r--) to 0600 (rw-------) ✅ ```
Configuración de directorios de git#
Revisa en qué ruta se montó la carpeta compartida de VirtualBox
- En este caso la carpeta compartida está montada en el directorio
/media/sf_Public
console
tonejito@debian-13:~$ mount | grep vboxsf
Public on /media/sf_Public type vboxsf (rw,nodev,relatime,iocharset=utf8,uid=0,gid=989,dmode=0770,fmode=0770,tag=VBoxAutomounter)
Agrega la ruta a la "lista de directorios seguros" de git para el usuario actual
console
tonejito@debian-13:/media/sf_Public/tareas-redes$ git config --global --add safe.directory /media/sf_Public
tonejito@debian-13:/media/sf_Public/tareas-redes$ git config --global --add safe.directory '/media/sf_Public/*'
Verifica la configuración en el archivo ~/.gitconfig
console
redes@debian-13:~$ cat ~/.gitconfig
...
[safe]
directory = /media/sf_Public
directory = /media/sf_Public/*
Note
- Continúa en la siguiente página cuando hayas configurado los parámetros de GIT.
| ⇦ | ⇧ | ⇨ |
|---|---|---|
| Página anterior | Arriba | Página siguiente |