Proteção Bash contra “git reset –hard HEAD”

Se você alguma vez executar git reset --hard HEADem um repositório não testado e não confirmado, esteja preparado para perder tudo até seu último commit. Se o seu código foi testado, git reflogou git fsckpode salvá-lo, mas, ainda assim, você está prestes a ter muitos problemas para encontrar seus arquivos.

Este é um script de alias, destinado a fazer uma pergunta antes de excluir seu trabalho. Crie um arquivo e forneça-o no bash:

git() {
if [[ "$1" = "reset" ]] && [ "$2" = "--hard" ] && [ "$3" = "HEAD" ] ; then
echo
"are you being a moron again? (yes/no)"
read i

if [ "$i" != "no" ]; then
echo
"you're safe, reset not executed"
return 0
fi
fi

command git
"$@"
}