У меня есть git-репозиторий, связанный с папкой в моем компьютере, содержащей некоторые файлы и некоторую директорию на сайте Drupal. Теперь я хочу перераспределить мой код, но хочу, чтобы некоторые папки оставались вне "общедоступного" репозитория, но хранились в "приватном" хранилище. Что-то вроде
Drupal Directory (git repository)
| -- file1.php
| -- file2.html
| -- modules
| -- sites
Теперь у меня есть репозиторий, содержащий весь материал, но игнорирующий "сайты" (содержащий.gitignore), и ai хотят, чтобы данные "сайтов" были сохранены в другом репозитории (чтобы его было частным) БЕЗ перемещения каталога потому что изменение положения каталога означает, что сайт не будет работать. Все решения с поддеревом, например, помещали каталог "sites" из основного каталога репозитория.
Мне нужно это для, фактически, каталог "sites" не находится на git, и поэтому у меня нет онлайн-резервного копирования, но мне нужно, чтобы он не был доступен другим.
Я думаю, вам нужно использовать git-подмодули. Пусть у вас есть библиотека, находящаяся в репозитории B. Ваша программа находится в репозитории A и использует эту библиотеку и должна иметь доступ ко всему ее исходному коду. Чтобы библиотека была отделена от вашего собственного программного обеспечения, вы добавляете репозиторий B в качестве подмодуля репозитория A. Поэтому каждый раз, когда вы вносите изменения в библиотеку, репозиторий B позаботится о его отслеживании, то же самое с вашим собственным программным обеспечением.
Конечно, каждый репозиторий может иметь свою собственную конфигурацию, репозиторий A может быть закрытым, а B может быть общедоступным, поэтому каждый может получить изменения, внесенные вами в библиотеку, в то время как ваше собственное программное обеспечение остается закрытым.
Вы можете подумать:
sites
в собственном репоsites
, как сейчас)Раньше были примеры развертывания Drupal с участием подмодулей.