Версионирование разных каталогов в одном репозитории git? - PullRequest
1 голос
/ 25 апреля 2019

Я хочу создать несколько логически связанных каталогов в одном git-репозитории. Это в основном используется на Windows Server 2012R2.

Представьте, что я разрабатываю воображаемое веб-приложение, которое состоит из:

  1. php-файлов в каталоге htdocs веб-сервера (d: \ server \ htdocs * .php)
  2. Python-скрипты, вызываемые php-файлами (d: \ pythoncode * .py)
  3. XML-файлы конфигурации для некоторых сторонних серверных модулей (d: \ module1 \ abc \ d * .xml)

Какой хороший способ сделать это? Я не хочу отдельных репозиториев, потому что все вышеперечисленное связано и должно быть проверено вместе. Я нашел Ведение несвязанных каталогов в одном git-хранилище , но оно старое и не имеет удовлетворительного ответа. Есть ли обновление по этому вопросу, например, используя какие-либо ссылки? Что-то вроде следующего?

- git_repo_root
|-- php/    --> d:\server\htdocs\
|-- python/ --> d:\pythoncode\
|-- xml/    --> d:\module1\abc\d\

Обратите внимание, что в этом примере все каталоги находятся в одном и том же разделе, но решение для разных разделов также высоко ценится.

1 Ответ

3 голосов
/ 25 апреля 2019

Звучит так, будто вы планируете заниматься разработкой непосредственно на живой системе.Если вы просто не работаете над одноразовым прототипом, это, скорее всего, не очень хорошая идея.

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

Один из способов настройки параметров разработки - использование ссылок.Просто переверните ссылки в вашем примере:

- git_repo_root
|-- php/    <-- d:\server\htdocs\
|-- python/ <-- d:\pythoncode\
|-- xml/    <-- d:\module1\abc\d\

Разверните файлы, необходимые для запуска приложения, на работающей системе всякий раз, когда вы достигаете стабильного состояния с добавленной функциональностью по сравнению с предыдущим шагом.В самом простом сценарии такое развертывание может быть выполнено с помощью сценария, который копирует файлы в соответствующие места, например, через SSH.

При таком разделении структура каталоговразвернутые файлы в работающей системе будут отделены или не будут зависеть от структуры каталогов в вашем Git-репозитории , так что потребность в каталогах управления версиями в нескольких местах за пределами корневого каталога Git-репозитория исчезнет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...