Как и этот пост SO, у меня есть следующий рабочий процесс, который я хотел бы поддерживать с помощью git:
Наш промежуточный сервер обслуживает множество разных сайтов. Я хотел бы настроить репозиторий для каждого в отдельной папке в домашнем каталоге пользователя. Каждый репозиторий будет иметь хук после получения (аналог статьи Даниэля Мессье ), который проверяет изменения в корневом веб-сайте для этого сайта/репозитория.
Меня беспокоит номер шесть.
Когда я пытаюсь выполнить любую команду git, я получаю сообщение об ошибке «фатальная: эта операция должна выполняться в рабочем дереве». Я получаю эту ошибку независимо от того, запускаю ли я «git status» из репозитория (/home/gituser/website1.git, который, как я полагаю, все равно не должен работать..) или из корневого веб-сайта (/var/www/website1) .
Однако, если я укажу GIT_DIR и GIT_WORK_TREE, я смогу выполнять команды git.Оба они работают:
$ git --git-dir /home/gituser/website1.git --work-tree /var/www/website1 status
$ GIT_DIR=/home/gituser/website1.git GIT_WORK_TREE=/var/www/website1 git status
Итак, мне нужно:
Правильно ли я об этом говорю? Как я могу получить git информацию о каталоге, необходимую для каждого репозитория?