Задать вопрос
@pma87
Web программист

Как настроить GIT на разных серверах с разной структурой папок?

Работу над проектом ведет несколько разработчиков на локальных машинах, результат работы отправляется на GITHUB и оттуда подтягивается на рабочий сервер. Проблема в том, что GIT развернут на уровень выше, чем DOCUMENT_ROOT, а на разных серверах разная структура папок, например:

/var/www/site.ru/htdocs/
/var/www/site.ru/www/
/var/www/site.ru/public_html/

Как правильно поступить, чтобы при "git init" или "git clone" сам репозиторий создавался в site.ru, но рабочей директорией было htdocs|www|public_html и в репозиторий попадали не сами папки, а их содержимое?
  • Вопрос задан
  • 468 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@pma87 Автор вопроса
Web программист
Да, с этих серверов будут делаться коммиты.
Основная проблема что на github это выглядит так: joxi.ru/WKAxLKVtq0NeA8 и соответственно при git glone создается папка www, а на сервере используется public_html.

Решение проблемы:
git config core.worktree "/var/www/site.ru/www/"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ashumkin
системный разработчик
клонируете репозиторий как bare куда угодно (не обязательно в /var/www/site.ru/)
git clone --bare <GitHub-URL> /var/www/site.ru/<git-repo>/


Затем pull'ите указывая каталоги: репозитория (--git-dir) и рабочий (--work-tree)
git --git-dir /var/www/site.ru/<git-repo>/ --work-tree /var/www/site.ru/public_html pull


Подбробнее
man git
/--git-dir
/--work-tree

З.Ы.
и в репозиторий попадали не сами папки, а их содержимое

а вот этого не понял
Вы собираетесь с серверов коммиты делать?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы