Обработка нескольких сайтов через git - PullRequest
2 голосов
/ 25 июня 2009

Вот ситуация: есть 9 сайтов, все они имеют одинаковую кодовую базу, но есть различия:

  • Тип A: 2 из них можно считать «социальными» сайтами (события, новости, профили, логин)
  • Тип B: 3 из них - ваши обычные сайты (модуль событий, новости и т. Д.)
  • Тип C: 4 из них - небольшие сайты типа «брошюра» (только страницы и контактная форма)

Теперь я думал об эффективном способе развертывания этих сайтов.

Если я внесу изменение в один из этих сайтов, иногда оно будет применяться только к одному сайту, иногда к обоим сайтам типа А. Некоторые изменения коснутся всех сайтов типа А и В. и т. Д.

Я пытаюсь заставить это работать с git. Как эффективно развернуть изменения в нескольких папках?

Я пытался создать ветки для A, B, C, но у меня есть ощущение, что это не совсем решение. Например, если файл xxx.txt существует в ветви A, и я переключаюсь на B, он все еще там.

Думаю, мне следует определить, какие файлы являются общими, а какие нет, а затем найти способ смешать и сопоставить все это вместе.

all-sites
|-- a
|-- b
|-- c
`-- static

Ответы [ 2 ]

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

Похоже, вы хотите использовать подмодули со структурой репо, такой как:

  1. код, общий для всех сайтов

  2. код, общий для сайтов типа А, но не в (1)

  3. код, общий для сайтов типа B, но не в (1)

  4. код, общий для сайтов типа C, но не в (1)

  5. Участок 1 (Тип A)

    • субмодулей указывает на (1)
    • подмодулей указывает на (2)
  6. ...
0 голосов
/ 25 июня 2009

Почему бы просто не иметь подпапки для каждого из ваших проектов?

Global
|---GlobalA
|   |
|   SiteA1
|   |
|   SiteA2
|
|---GlobalB
|   |
|   SiteB1
etc...

Звучит так, как будто бы она лучше подходила для схемы наследования, которую вы пытаетесь использовать.

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