bash

Git stripspace y auto-correct: dos configuraciones que te salvarán

Aprende a usar git stripspace para limpiar whitespace y git help.autocorrect para evitar comandos mal escritos. Dos configuraciones simples que todo dev debería tener.

2 min
2 jul

Git auto-correct

Evita errores de dedo al escribir comandos de Git:

# Habilitar autocorrección (delay 0.1s)
git config --global help.autocorrect 1

# Con delay de 1 segundo
git config --global help.autocorrect 10

# Sin autocorrección
git config --global help.autocorrect 0

Cómo funciona

# Si escribes mal un comando:
git sttus
# WARNING: You called a Git command named 'sttus', which does not exist.
# Auto-correcting to 'status' in 0.1 seconds

# Git ejecuta automáticamente git status

Git stripspace

Limpia archivos de whitespace innecesario:

# Limpiar archivo (sobrescribe)
git stripspace < archivo-sujo.txt > archivo-limpio.txt

# Verificar si un archivo tiene trailing whitespace
git stripspace -t < archivo.txt

# Aplicar stripspace inline
git stripspace < input.txt > output.txt

Hook pre-commit para evitar whitespace sucio

# En .git/hooks/pre-commit
#!/bin/sh
if git rev-parse --verify HEAD >/dev/null 2>&1; then
  against=HEAD
else
  against=4b825dc642cb6eb9a060e54bf899d153036d90df5
fi
exec git diff-index --check --cached $against --
# O usa la configuración global de Git
git config --global core.whitespace trailing-space,space-before-tab

Combinación poderosa

# Auto-correct + stripspace en tu setup inicial
git config --global help.autocorrect 1
git config --global core.whitespace trailing-space,space-before-tab

# Verificar archivos antes de commit
git stripspace -t < archivo.py

Preguntas Frecuentes

¿Qué hace git stripspace?

git stripspace limpia líneas en blanco, elimina whitespace al final de líneas y normaliza el espaciado. También detecta si un archivo tiene trailing whitespace y lo reporta como error.

¿Cómo habilitar auto-correct en Git?

Ejecuta git config --global help.autocorrect 1. Con valor 0 se deshabilita, con 1 se ejecuta automáticamente tras 0.1 segundos, con 10 espera 1 segundo antes de ejecutar.

¡Código copiado!