Похоже, вы просто хотите объединить несколько репозиториев и филиалов в свою текущую ветку.
Во-первых, добавить все остальные операции РЕПО в качестве пультов дистанционного управления:
git remote add official url_to_OpenCart_official_repo
git remote add themes url_to_private_repo
git remote add modules url_to_modules_repo
Тогда каждый раз, когда вам нужно сделать релиз:
git checkout -b release/whatever
git merge official/master themes/your_branch modules/your_branch
git push origin -u release/whatever
После этого сложного слияния, вы хотите сделать некоторые дополнительные испытания.
Если вы объединяете более одной ветви за раз, предпринимается попытка слияния Octopus, что означает, что она попытается объединить все ветви, указанные до тех пор, пока это можно сделать чисто. Если есть конфликты слияния, слияние не удастся. В вашем конкретном случае я вижу, что существуют конфликты слияния. Вы должны объединить свои филиалы по одному:
git merge official/master
<resolve merge conflicts>
git merge themes/your_branch
<resolve merge conflicts>
git merge modules/your_branch
<resolve merge conflicts>
Этот другой переполнения стека вопрос дает хороший обзор Гит Merge стратегий и когда использовать их: When would you use the different git merge strategies?
Из моего опыта, используя GitHub , подмодули создают каталог. Поэтому, если это не подойдет вам, я просто перейду к сценарию, который вытаскивает репозитории каждый в своей собственной папке, а затем копирует их в другую. Хотя это не сексуальное решение. – Micka
Micka, к сожалению, модули OpenCart добавляют файлы во многие каталоги, 90% из них не перезаписывают существующие файлы, а добавляют новые файлы. –