Cómo configuro mi identidad de Git
(benji.dog)Cómo configurar mi identidad de Git
-
Introducción: Este artículo explica cómo gestionar la identidad según el entorno de trabajo mediante la configuración de Git. El autor descubrió una forma de incluir archivos según condiciones específicas usando
includeIf. -
Configuración de Git:
- Con
includeIf, se pueden incluir distintos archivos de configuración de Git según el directorio. - Por ejemplo, se puede configurar para que los directorios Git bajo
~/codeincluyan~/.config/git/personal, y los que están bajo~/workincluyan~/.config/git/work. - Cada archivo incluye información como nombre de usuario, correo electrónico y clave de firma.
- Con
-
Configuración basada en URL remota:
- Con
hasconfig:remote.*.url, se puede configurar Git de forma condicional cuando existe una URL remota específica. - Por ejemplo, en directorios que tienen un remoto como
github.com:orgname/**, se puede configurar para usar~/.config/git/config-gh-org.
- Con
-
Configuración de claves SSH:
- Es necesario configurar claves SSH para poder hacer
pullypushal remoto. - En el archivo
~/.ssh/config, se pueden definirHosteIdentityFilepara usar la clave SSH correspondiente a cada remoto. - Si se quiere usar un
IdentityFiledistinto para el mismoHostname, hay que configurar un valor deHostdiferente.
- Es necesario configurar claves SSH para poder hacer
-
Usar la configuración SSH desde Git config:
- Para usar una configuración SSH distinta en repositorios específicos, se puede reemplazar la URL con
insteadOfen Git config. - Por ejemplo, se puede usar
gh-work:orgnameen lugar degithub.com:orgnamepara aplicar la configuración SSH correcta.
- Para usar una configuración SSH distinta en repositorios específicos, se puede reemplazar la URL con
-
Consideraciones:
- Puede haber problemas con este enfoque, y el autor quiere recibir comentarios sobre si existe una mejor manera de hacerlo.
Material de referencia
- Se consultaron varios artículos de blog sobre cómo gestionar múltiples identidades de Git.
1 comentarios
Opiniones de Hacker News
Explica cómo usar un nombre como
gh-workpara separar la identidad de SSH y Git. Todos los repositorios Git clonados congh-workseguirán la configuración degh-work.incy usarán la misma clave de firma que la configuración de SSHAl trabajar en una startup, había un colega que cambiaba su identidad a un nombre de cuento de hadas todos los días. Esto no ayudaba a la informática forense del control de versiones, pero quizá buscaba recordar que se puede poner cualquier cosa en la configuración de identidad
Sugiere agregar alias para la identidad en
.gitconfig, de modo que después de inicializar o clonar un repositorio se pueda ejecutar el comandogit config-companyogit config-personalExplica cómo administrar submódulos fácilmente configurando el comando SSH en
~/.gitconfig, sin necesidad de modificar~/.ssh/configPresenta cómo administrar la configuración de Git por directorio usando
includeIfyhasconfig:remote. Esto también es útil al clonar repositoriosRecomienda enfáticamente a los consultores usar un dispositivo separado para el trabajo o al menos un usuario del sistema operativo distinto. Usar un dispositivo personal para el trabajo puede ser riesgoso
Explica cómo administrar la configuración de Git con NixOS y home-manager. Usa la condición
hasconfig:remotepara establecer un correo electrónico específicoExplica cómo mantener la complejidad de SSH dentro de
~/.sshe incluir configuraciones separadas por cliente o proyecto. Cuando no hay nombres de host como GitHub, se asignan aliasExplica cómo usar
gitdirpara separar el trabajo y los proyectos personales.hasconfig:remotecambia por completo las reglas del juegoExplica cómo separar y administrar repositorios de trabajo y personales en
~/devy~/src. Incluye distintos archivos de configuración de Git según cada rutaExplica cómo configurar archivos
.gitconfigpersonales y de trabajo para usar distintos correos electrónicos y claves de firma. Activa la firma GPG para firmar commits