当前位置:  开发笔记 > 前端 > 正文

始终覆盖git部署分支

如何解决《始终覆盖git部署分支》经验,为你挑选了0个好方法。

我们使用前端代码,例如HTML,CSS,JS等

我们qa在Github上有一个预览分支(),当推送到时,会自动将代码部署到预览网站,供我们的QA团队进行测试.

我们将代码编译/构建到dist目录中,并在预览网站上提供.当然,通常dist会忽略目录.

我们如何推动我们的开发分支并始终覆盖我们的预览分支?

我们希望忽略任何冲突,并始终使用我们正在推动的新代码.预览分支中的代码永远不会渗透到开发分支中.我们从未在预览分支中直接处理代码.

上下文

我们是一个规模虽小但地理位置分散的团队,我们正在开展大型前端项目,并有几个发布浪潮.没有生产因为我们的工作提供给管理与内部CMS系统集成等的其他团队.

master分支代表的最后一个版本.通常我们将按顺序工作,即工作wave1和发布master,工作wave2和发布master等.但是,有时我们需要wave1在我们工作时应用修补程序wave2.wave1需要临时部署修复程序以qa进行测试.

我们创建功能分支并使用Pull Requests将它们合并到当前波形分支中.

目前,我们使用此策略将当前wave部署到qa:

git push origin wave2:qa

但是,这通常会导致dist目录中的冲突,在这种情况下,我们这样做:

    git checkout qa(在qa本地结账)

    git pull (确保它是最新的)

    git checkout wave2 (切换回波浪分支)

    git merge -s ours qa(qa使用我们的策略合并分支)

    git checkout qa(切换回qa)

    git merge wave2(合并wave2)

    git push (推送部署)

现在我注意到这真的搞砸了我们的提交历史,如果我们需要部署一个旧的wave来qa进行修补程序测试,我们最终可能会在我们的wave1分支中提交(并且代码几次)我们的wave2分支.

这对我来说都有点不对劲,但我不确定这里最好的解决方案是什么.我想也许我们正在尝试使用我们的策略将方形钉固定在圆孔中.

我们应该使用git push origin wave2:qa --force吗?

或者我们应该为预览分支设置不同的遥控器?

或者也许构建步骤应该发生在服务器上,以便dist目录不在repo中?

很高兴在我们当前的战略之外工作,因为我们想要转向更严格的git flow模型.

我们真正需要的是一种技术,它允许我们轻松地将我们的工作部署到预览站点,而不会遇到冲突问题或分支/发布的交叉污染.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有