Несколько проектов в git (поддеревья)

У меня есть git-репозиторий, который я использую для нашей конфигурации. Структура каталогов такая:

ansible
|---Site
`---Roles
      |---Common
      `---other_project

Это в git, и это конфиденциально, так как доступ к нему нужен только моей команде.

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

Суть в том, что у меня есть ветка разработки и ветка master. Когда набор кода стабилен, он вставляется в мастер с --no-ff так что в master вы видите только стабильные релизы и ничего между ними.

Как я могу сделать это с other_project, Есть ли способ использовать ветки для поддерева? Как мне затем объединить одну ветку в другую и поменять их местами?

2 ответа

Если я правильно понял вашу структуру, other_project просто роль. Тогда вы можете использовать Ansible Galaxy для его установки.

Для этого вам просто нужна requirements.yml в вашей корневой папке Ansible с таким содержимым:

- src: https://github.com/your/role
  version: master
  name: other_project

Затем установите его с ansible-galaxy install -r requirements.yml

Смотрите здесь для деталей.

Вы смотрели на Git Submodules?

С уважением.

Другие вопросы по тегам