Ответвление мерзавца для экземпляров веб-сайта?

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

Я только что закончен для чтения главы branchs Pro книги Мерзавца, и я немного смущен, если ответвление не является лучшим решением для этой проблемы, ветвление?

Я имею в виду, у нас есть экземпляры A, и B кода, между A и B, различиями являются вещи, любит цвета CSS, URL, ключи API, но большая часть кода является тем же, поэтому каким образом я могу иметь дело с этим, я нуждаюсь в чем-то как код в A и затем 'исправляю' его для получения B, но я не уверен, как делают слияние, которое не делает изображений переопределений...

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

7
задан 20.05.2011, 01:43

0 ответов

Это немного хитро, и я боюсь, что нет никакого единственного "правильного" ответа. Я действительно соглашаюсь, что поддержание отдельных ответвлений для A и B не является соответствующим использованием мерзавца.

Ваша первая опция состоит в том, чтобы просто разветвиться один от другого. Оборотная сторона, конечно, то, что теперь необходимо поддержать две отдельных кодовых базы. Ужасный.

Вторая опция состоит в том, чтобы разветвить только различия (например, изображения и каталоги CSS). Это оставило бы Вас с 3 репозиториями мерзавца: код (только одна кодовая база для поддержания, ура!), изображения/CSS/и т.д. для A и того же для B. Оборотная сторона с этим подходом - то, что он усложняет развертывание, особенно если необходимо развернуть и код и изменения стиля одновременно.

С другой стороны, Вы могли, конечно, оскорбить мерзавца для поддержания единого репозитория и с A и с B как отдельные ответвления. Нет, это не идеально, но строго говоря это работало бы. Однако это - возможно более грязное решение проблемы, чем первое предложение (разветвляющийся A и B полностью).

Никто, но (и Ваша команда) можно сказать Вам, который является "правильным" подходом для Вашей ситуации. Я желаю Вам всего наилучшего, хотя!

1
ответ дан 07.12.2019, 15:13

Почему бы не создать "шаблонное" ответвление, которое есть общий материал и объединяет это в ответвления на веб-сайт? Ни один из специализированного материала никогда не должен появляться в шаблонном ответвлении, и идеально специализированный материал был бы изолирован в специальные файлы, хотя это не строгая необходимость. Если можно изолировать к уровню файла, .gitignore специализированные файлы на шаблоне переходят для безопасности.

Когда Вы вносите изменение, изменяете его на шаблоне и объединяетесь с каждым ответвлением в свою очередь. Каждый веб-сайт должен применить изменение, чтобы обработать по шаблону и сохранить их специализированную работу.

2
ответ дан 07.12.2019, 15:13

Теги

Похожие вопросы