Git post-receive, чтобы оформить каждую ветку в разные папки?

Базовая настройка нашего рабочего процесса Git - это пустой репозиторий на локальном сетевом сервере, на котором два разработчика работают.

Мы хотели бы автоматически копировать (извлекать) каждую ветвь, которая перемещается в другое место на нашем локальном сетевом сервере. В качестве примера:

Толкаяразработать» копии филиала в 'разработать» подпапка. Толкаямастер' копии филиала вмастер' подпапка.

Проблема, с которой мы сталкиваемся, заключается в том, чтобы заставить это сделать получение. Вот что у нас сейчас есть:

#!/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

Полученная ошибка:

remote: fatal: Эта операция должна выполняться в рабочем дереве remote: изменения, направленные на разработку. '

Как и следовало ожидать от этой ошибки - на самом деле ничего не проверено.

Я также пробовал пост-получить таким образом, но та же проблема:

#!/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

Может ли кто-нибудь объяснить, что я делаю здесь не так (не стесняйтесь объяснить это, как вы бы 3-летнему :)). Благодарю.

Чтобы сделать ответ более понятным для будущих читателейТорек ударил его по голове. Я использовал--work-tree=/master чтобы попытаться добраться до папки под названием "мастер' внутри корня моего голого репо (например, рядом с 'ветви', 'крючки так далее). Как только я изменил это на--work-tree=./master (обратите внимание на точку перед косой чертой) все работает как я ожидал.

Ответы на вопрос(2)

Ваш ответ на вопрос