Несколько проектов в 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
Смотрите здесь для деталей.