Não exatamente um script de wrapper - você pode criar uma função de shell:
git() {
local gitdir=$(git rev-parse --git-dir 2>/dev/null)
if [[ $gitdir && -f $gitdir/disabled-commands ]]; then
# "disabled-commands" should contain "push", "reset", etc
if grep -Fwqse "$1" "$gitdir/disabled-commands"; then
echo "You have disabled this command." >&2
return 1
else
command git "$@"
fi
else
command git "$@"
fi
}
Não há uma maneira mais simples do que isso.
Editar: Adicionada -e
ao grep: sem isso, o grep interferiu em chamadas como git --version
, que se tornaram grep -Fwqs --version
, e também com recursos de conclusão de tabulação.