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

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

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

Перемещение копий ветки «развернуть» в подпапку «разработка». Нажатие копий ветки «master» в подпапке «master».

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

#!/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: эта операция должна выполняться в удаленном рабочем дереве: изменения должны быть разработаны.'

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

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

#!/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 попытаться добраться до папки «master» внутри корня моего голого репозитория (например, рядом с «ответвлениями», «зацепками» и т. д.). Как только я изменил это на--work-tree=./master (обратите внимание на точку перед косой чертой) все работает как я ожидал.

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

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