Ведение несвязанных каталогов в одном git-хранилище - PullRequest
9 голосов
/ 01 июня 2009

Я хотел бы объединить два или более каталогов в одном репозитории git. Эти репозитории логически связаны, но относятся к разным путям файловой системы, , например, /etc/httpd и /var/named/chroot/var/named, оба содержат данные виртуального хоста, которыми я хотел бы управлять в целом, но я не могу связать их.

Я спросил список рассылки git , но не повезло.

Предложения


Обновление: Я не использую этот механизм для развертывания кода, я просто нахожу, что это очень удобный способ:

  • отслеживание изменений по мере их возникновения, так что я могу очень легко git checkout перейти к предыдущей известной проблеме конфигурации стабильной точки и события git bisect.
  • подготовка изменений в отдельном каталоге, а затем извлечение из этого каталога, когда пришло время выполнить изменение.

Ответы [ 2 ]

2 голосов
/ 01 июня 2009

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

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

1 голос
/ 02 июня 2009

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

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