Git
Archivo .mailmap: Asociación de colaboradores y alias de correo electrónico.
Buscar..
Sintaxis
- # Sólo reemplazar direcciones de correo electrónico
<[email protected]> <[email protected]> - # Reemplazar nombre por dirección de correo electrónico
Colaborador <[email protected]> - # Fusionar múltiples alias bajo un nombre y correo electrónico
# Tenga en cuenta que esto no asociará 'Otro <[email protected]>'.
Colaborador <[email protected]> <[email protected]> Contributor <[email protected]>
Observaciones
Un archivo .mailmap
puede crearse en cualquier editor de texto y es solo un archivo de texto simple que contiene nombres de colaboradores opcionales, direcciones de correo electrónico principales y sus alias. Debe colocarse en la raíz del proyecto, junto al directorio .git
.
Tenga en cuenta que esto solo modifica la salida visual de comandos como git shortlog
o git log --use-mailmap
. Esto no reescribirá el historial de confirmaciones o evitará confirmaciones con nombres y / o direcciones de correo electrónico variables.
Para evitar confirmaciones basadas en información como las direcciones de correo electrónico, debe utilizar en su lugar git hooks .
Combine los contribuyentes por alias para mostrar el conteo de confirmaciones en shortlog.
Cuando los colaboradores se agregan a un proyecto desde diferentes máquinas o sistemas operativos, puede suceder que utilicen diferentes direcciones de correo electrónico o nombres para esto, lo que fragmentará las listas de colaboradores y las estadísticas.
La ejecución de git shortlog -sn
para obtener una lista de colaboradores y el número de confirmaciones por parte de ellos podría dar como resultado el siguiente resultado:
Patrick Rothfuss 871
Elizabeth Moon 762
E. Moon 184
Rothfuss, Patrick 90
Esta fragmentación / desasociación se puede ajustar proporcionando un archivo de texto sin formato .mailmap
, que contiene asignaciones de correo electrónico.
Todos los nombres y direcciones de correo electrónico que figuran en una línea se asociarán a la primera entidad nombrada respectivamente.
Para el ejemplo anterior, una asignación podría tener este aspecto:
Patrick Rothfuss <[email protected]> Rothfuss, Patrick <[email protected]>
Elizabeth Moon <[email protected]> E. Moon <[email protected]>
Una vez que este archivo exista en la raíz del proyecto, ejecutar git shortlog -sn
nuevamente resultará en una lista condensada:
Patrick Rothfuss 961
Elizabeth Moon 946