Объединение генератора кода с Git

0

Я использую Joomla Component Creator для генерации кода лесов для компонентов. После разработки таблиц, полей, отношений и т.д. Компонент построен, и я устанавливаю его на разрабатываемый веб-сайт. Затем я вношу некоторые изменения в сгенерированный код, где это необходимо. Однако, если я нахожу, мне нужны дополнительные поля, другая таблица или какое-то другое изменение, которое разработчик компонента может позаботиться обо мне, я возвращаюсь к создателю компонента, вношу нужные изменения, создаю компонент и устанавливаю его снова, Но теперь все мои собственные изменения будут перезаписаны. Я использую git, поэтому можно найти места, где мой собственный код перезаписан и отменить это, но это громоздко и не всегда очевидно, чтобы найти свои собственные изменения.

Итак: Есть ли лучший способ сделать это? Какой-то трюк с git или что-то еще? Или просто хорошие рекомендации по тому, что я должен делать? Я понимаю, что могу делать хорошие комментарии до и после моих собственных изменений кода, чтобы выявить их более легко, но по-прежнему много работы, если код изменен во многих местах во многих файлах.

  • 0
    Пожалуйста, попробуйте задать свой вопрос на Joomla Stack Exchange ;)
  • 1
    Вопрос на самом деле не в том, что касается joomla, поэтому я думаю, что он мог бы пойти и здесь.
Теги:
joomla

1 ответ

0
Лучший ответ

У вас может быть одна ветка "ваниль", где вы просто отслеживаете сгенерированный код.

Для ваших ручных изменений вы создаете новую ветку (например, "installationA") и основываете ее на голове "ванили". Вы делаете еще несколько ручных изменений на "installationA", когда вы решите, что вам нужно повторно запустить генератор (с измененной конфигурацией). Тогда вы делаете следующее:

  • проверить "ваниль"
  • запустить генератор
  • совершить "ваниль"
  • rebase "installationA" на новый новый руководитель "ванили"
    • альтернативно, вы можете объединить "ваниль" в "installationA", если это лучше подходит для понимания хронологических событий

Разумеется, реальные конфликты нужно решать вручную, но большая работа должна выполняться автоматически. Эта настройка позволяет отслеживать два разных источника изменений. С одной стороны, "базовая линия" ("ваниль"), а с другой стороны, ваше руководство меняет/адаптирует к конкретным местам адаптацию. Это работает очень хорошо, если у вас несколько установок ("installationB", "installationC",...), которые состоят из некоторых адаптаций к общей базовой линии.

  • 0
    Спасибо, это звучит как правильная идея, я попробую ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню