LINUX.ORG.RU

Как в Git хранить пересекающиеся множества файлов в разных ветках?

 


0

2

SUBJ. Я хочу хранить настройки разных компов, причём часть настроечных файлов идентична, а часть - разная. Например:

комп Foo

/etc/xxx.d/general.conf
/etc/xxx.d/system.conf
/etc/xxx.d/foo.conf

комп Bar

/etc/xxx.d/general.conf
/etc/xxx.d/system.conf
/etc/xxx.d/bar.conf

В данном случае файлы general.conf и system.conf совпадают для обоих компов, но у каждого есть свой уникальный конфиг - foo.conf и bar.conf.

Я хочу хранить настройки каждого компа в отдельной ветке, но с возможностью слияния и обновления общих файлов.

Как это сделать в Git?

Спасибо.

например:

  • в master делаешь весь конфиг
  • от master идет ветка foo, где вносятся изменения для Foo
  • от master идет ветка bar, где вносятся изменения для Bar
  • далее общие изменения вносятся в master, конкретные изменения - в соотв. ветки
  • foo и bar никогда не должны мержиться между собой, зато master можно мержить в любую из них

кактотаг, если я все правильно понял

anTaRes ★★★★
()
Ответ на: комментарий от anTaRes

А потом хостов становится сильно больше двух, и со временем граф коммитов превращается в мерж-лапшу. Спасибо, проходили.

thriller ★★
()
Ответ на: комментарий от thriller

Какие альтернативы?

Пока это решение покрывает мои задачи, но интересно узнать о других способах.

anonymous8 ★★
() автор топика
Ответ на: комментарий от anonymous8

Чем больше я об этом думал, тем больше из этого получалось нечто похожее на классические конфиг-менеджеры. В общем-то, на них и стоит смотреть.

Хотя, конечно, для полутора анонимусов ЭВМ это будет оверкиллом.

thriller ★★
()
Последнее исправление: thriller (всего исправлений: 1)

Мои конфиги portage - https://github.com/Pinkbyte/portage-config

ветка master - общее для всех компов
*-desktop - соответственно ветки для определенных рабочих станций

merge-лапши, о которой говорили выше нет, т.к. я использую rebase и push --force. Небезопасно и не так удобно, зато при небольшом кол-ве машин - пооптимальнее тех же конфигураторов.

При количестве машин больше 5 - стоит выкинуть данный workflow нафиг и воспользоваться чем-то более ориентированным на данную задачу, чем git.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.