2016-07-10 1 views
2

Я работаю над Magento (не спрашивая об этом на magento.stackexchange.com, потому что он больше связан с git).Эффективно продвигать портирование изменений основной темы: Git Three Way Merge with Core Changes?

Иногда нельзя изменять файлы из основной темы. (Путем копирования на собственную тему, конечно)

Он работает (simplyfied) как этот

  1. Это является основным файлом: vendor/magento/module-theme/view/frontend/templates/message.phtml
  2. скопировать его app/design/frontend/My/Theme/default/Magento_Theme/templates/message.phtml
  3. Теперь я делаю мерзавец фиксация файла «Исходный, взятый из ядра»
  4. Теперь сделаю свои изменения
  5. При обновлении до новой версии Magento возможно обновление vendor/magento/module-theme/view/frontend/templates/message.phtml (через композитор, файл не находится в моем git)
  6. Теперь я ищу способ переносить новые изменения с ядра (из папки поставщика) в мой пользовательский файл. Или повторно применить все мои изменения к новой копии из ядра.

я уже был довольно успешным с созданием патча между моим «Original взят из ядра» фиксация и текущая версия, копирование нового оригинала от ядра и применения патча. Я сделал все это вручную, и мне интересно, есть ли более автоматизированный способ.

+0

* «Иногда нельзя изменять файлы из основной темы». * - Можете ли вы привести пример? Я не могу придумать ни одного –

+0

При перезаписывании файлов .phtml, например, я говорю о копировании файлов в свою тему - не меняя их непосредственно в ядре. Но я все же хотел бы перенести обновления на ядро ​​на мою тему. – Alex

+0

Я вижу - отличный вопрос! –

ответ

0

Если вам действительно нужно переносить частные версии источника восходящего потока, несите их с восходящим источником в локальной истории на основе восходящего потока. Затем, когда вверх по течению появляется новая версия, git может сменить изменения автоматически лучше всего, или, по крайней мере, так же хорошо.

+0

Хорошая точка. К сожалению, я не уверен, как это сделать в проекте Magento .. потому что копирование файлов шаблонов в закрытую тему стандартно - из разных точек в файловой системе. – Alex

+0

Git не отслеживает файлы по отдельности, есть только угаданные полноэкранные снимки-aka-commits и ссылки на интересные в настоящее время снимки в dag. Вся остальная информация получена путем эффективного изучения этого и отслеживания интересных битов его среди репозиториев. – jthill