Звучит так, будто вы планируете заниматься разработкой непосредственно на живой системе.Если вы просто не работаете над одноразовым прототипом, это, скорее всего, не очень хорошая идея.
Вместо этого создайте локальную среду разработки, в которой вы можете свободно настраивать пути для различных типов файлов в любой форме.Вы хотите или нуждаетесь.Выполняйте управление версиями только в этой локальной рабочей среде.
Один из способов настройки параметров разработки - использование ссылок.Просто переверните ссылки в вашем примере:
- git_repo_root
|-- php/ <-- d:\server\htdocs\
|-- python/ <-- d:\pythoncode\
|-- xml/ <-- d:\module1\abc\d\
Разверните файлы, необходимые для запуска приложения, на работающей системе всякий раз, когда вы достигаете стабильного состояния с добавленной функциональностью по сравнению с предыдущим шагом.В самом простом сценарии такое развертывание может быть выполнено с помощью сценария, который копирует файлы в соответствующие места, например, через SSH.
При таком разделении структура каталоговразвернутые файлы в работающей системе будут отделены или не будут зависеть от структуры каталогов в вашем Git-репозитории , так что потребность в каталогах управления версиями в нескольких местах за пределами корневого каталога Git-репозитория исчезнет.