Evite que git genere automáticamente el correo electrónico del usuario si falta

¿Hay alguna forma de configurar globalmente git para que no genere automáticamente el correo electrónico del usuario, si no está configurado y abortar la confirmación en su lugar?

 $ git commit -m "test" [master (root-commit) 71c3e2e] test Committer: unknown <my.user@my.very.own.hostname> Your name and email address were configunetworking automatically based on your username and hostname. Please check that they are accurate. 

Esto puede causar filtraciones graves de privacidad si el autor no es lo suficientemente cuidadoso como para verificar las advertencias de git .

Esto se puede hacer con git pre-commit hook, siguiendo la sugerencia de @cupcake .

  1. Crea un file llamado pre-commit manera:

     #!/bin/sh git config user.name >/dev/null 2>&1 if [[ $? != 0 ]]; then echo "Error: user.name is undefined. Use 'git config user.name \"Your Name\"' to set it." exit 1 fi git config user.email >/dev/null 2>&1 if [[ $? != 0 ]]; then echo "Error: user.email is undefined. Use 'git config user.email you@example.com' to set it." exit 1 fi 
  2. Si es necesario, hazlo ejecutable con chmod +x pre-commit

  3. Tira este file a las templates de git hook globales:

    • En los sistemas * nix esto se encuentra en

        /usr/share/git-core/templates/hooks 
    • En Windows esto se puede encontrar típicamente en

        %ProgramFiles%\Git\share\git-core\templates\hooks 
  4. Vuelva a inicializar sus git existentes con git init .