我有很多基于OpenCart的电子商店,并希望为他们创建部署系统。 我的想法是将github存储库逐步拉入一个目录,例如:
...并将其部署到生产服务器。
请告诉我最佳解决方案是什么?我应该简单地将所有存储库合并到一个目录中还是使用子模块?
谢谢!
答案 0 :(得分:1)
听起来你只想将多个回购和分支合并到当前分支中。
首先,将所有其他repos添加为遥控器:
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
在复杂的合并之后,您将需要进行一些额外的测试。
如果您一次合并多个分支,则尝试进行八达通合并,这意味着只要可以干净地完成,它就会尝试合并指定的所有分支。如果存在任何合并冲突,则合并将失败。我在您的特定情况下出现了一些合并冲突。您必须一次合并一个分支:
git merge official/master
<resolve merge conflicts>
git merge themes/your_branch
<resolve merge conflicts>
git merge modules/your_branch
<resolve merge conflicts>
这个其他Stack Overflow问题很好地概述了Git Merge Strategies以及何时使用它们:When would you use the different git merge strategies?