Git pós-receber gancho para fazer checkout de cada ramo em pastas diferentes?

A configuração básica do nosso fluxo de trabalho Git é um repositório vazio em um servidor de rede local com dois desenvolvedores pressionando / puxando para ele.

Gostaríamos de copiar automaticamente (checkout) cada filial que é enviada para um local diferente em nosso servidor de rede local. Para exemplificar:

Pressionar as cópias da ramificação 'develop' para a subpasta 'develop'. Empurrar a ramificação 'mestre' copia para a subpasta 'mestre'.

O problema que estamos enfrentando é obter o gancho pós-recebimento para fazer isso. Aqui está o que temos atualmente:

#!/bin/bash

while read oldrev newrev ref
do
  branch=`echo $ref | cut -d/ -f3`

  if [ "master" == "$branch" ]; then
    GIT_WORK_TREE=/master
    git checkout -f $branch
    echo 'Changes pushed master.'
  fi

  if [ "develop" == "$branch" ]; then
    GIT_WORK_TREE=/develop
    git checkout -f $branch
    echo 'Changes pushed to develop.'
  fi
done

O erro recebido é:

'remote: fatal: Esta operação deve ser executada em uma árvore de trabalho remote: Alterações pressionadas para serem desenvolvidas.'

Como seria de esperar desse erro - nada é realmente verificado.

Eu também tentei o pós-recebimento dessa maneira, mas o mesmo problema:

#!/bin/bash

while read oldrev newrev ref
do
  branch=`echo $ref | cut -d/ -f3`

  if [ "master" == "$branch" ]; then
    git --work-tree=/master checkout -f $branch
    echo 'Changes pushed master.'
  fi

  if [ "develop" == "$branch" ]; then
    git --work-tree=/develop checkout -f $branch
    echo 'Changes pushed to develop.'
  fi
done

Alguém pode explicar o que estou fazendo de errado aqui (fique à vontade para explicá-lo como faria para uma criança de 3 anos :)). Obrigado.

Para tornar a resposta mais clara para futuros leitores, Torek bateu na cabeça. Eu estava usando--work-tree=/master para tentar acessar uma pasta chamada 'master' dentro da raiz do meu repositório vazio (por exemplo, ao lado de 'branches', 'hooks' etc.). Assim que eu mudei isso para--work-tree=./master (observe o ponto antes da barra) tudo funcionou como eu esperava.