Git - Независимые ветки или разные репозитории для экземпляров одной и той же программы с немного другим использованием

Я недавно начал использовать git и у меня возник вопрос. У меня есть две ветви программы, одна из которых использует алгоритм A, а другая - алгоритм B. Эти алгоритмы делают одно и то же по-разному. Теперь для каждой из этих двух веток я хочу создать разные экземпляры программы, которые запускаются для разного рода данных (это может быть до 50 разных экземпляров). Прежде чем вы спросите, я не могу включить их все в одну программу из-за сложности и проблем с производительностью.

Кроме того, если возможно, я хотел бы иметь возможность изменять ядро ​​(то есть часть источника, которая является общей для всех экземпляров) и все экземпляры, которые будут обновлены с изменением.

Какой метод вы бы порекомендовали для этого?

PS: Поскольку мой вопрос может быть не очень ясным, не стесняйтесь спрашивать любую дополнительную информацию.

2 ответа

Решение

Если они делают то же самое по-разному, попытайтесь привести их в соответствие с общим интерфейсом /API. Если вы можете сделать это, тогда примените паттерн Bridge. Две реализации могут просто находиться в разных подкаталогах. Вам не нужно, чтобы git или ветки управляли этим - просто используйте две разные реализации позади Bridge и выберите правильный impl во время выполнения (или во время компиляции, так как кажется, что вы предпочитаете подход во время компиляции).

Вы можете иметь основную ветвь с основным кодом и 2 другие ветви с помощью alg и alg B, чтобы объединить master с ветвями алгоритма. Таким образом, вы можете иметь две разные программы, которые имеют разные алгоритмы, но одно и то же ядро. Я не очень понимаю, что вы подразумеваете под примерами

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