Eu tropecei no mesmo problema, mas a única resposta que encontrei exigiu a modificação do gancho em si.
Aqui o autor sugere filtrar este situação usando o nome da filial:
#!/bin/bash
BRANCH_NAME=$(git branch | grep '*' | sed 's/* //')
if [[ $BRANCH_NAME != *"no branch"* ]]
then
# your regularly scheduled hook
fi
Eu mudei a condição um pouco, já que minha saída git parece com (no branch, rebasing some-branch-name)
.
Isso não resolve meu caso específico, mas talvez alguém encontre essa questão e use essa abordagem no futuro.