git - 关于我们特殊情况下git结构和设置git的一般事情

时间:2018-03-02 07:20:36

标签: git gitlab

我的名字是Björn,我来自德国,我有一些关于git的一般性问题,希望你能帮忙。

我们正在ColdFusion中编写Web应用程序。 我们通常每个客户有两个站点。一个用于测试,一个用于实时。两者都在我们的CF-WebServer上工作,两者都不相同。实际上,由于某些配置行,不可能使两个站点完全相同。

现在我们正在尝试将所有项目都放到gitlab中。问题是,我们不会从头开始。

我试过这个: 我在Testsystem-Folder中创建了一个新的Repository并将其推送到Master。然后我创建了一个Live-Branch。 之后我将.git文件夹从Test复制到Live并将差异推送到Live Branch。 现在我在Live分支机构的Live-System和Master-Branch的测试系统。

当我开始工作时,我从master(Test-System)创建一个本地分支,并在此处完成我的工作。当我完成后,我将其合并到测试系统,以便我们的顾问能够进行测试。之后,我将同一个分支合并到Live-System。问题是,在这一点上,我将整个Master-Branch合并到了Live,而不仅仅是我关于我的Ticket的最后更改,它将存储在一个到x的提交中。

现在我不确定,如果我们的方式是正确的。我希望我解释得足够好,我希望,有人能够帮助我摆脱这种苦难。

谢谢和问候

Björn

1 个答案:

答案 0 :(得分:0)

查看git-flow,在某些情况下,它会被覆盖。您只需使用两个附加分支(livetest)即可缩小此工作流程。如果您开始修复新问题:

  1. feature/#1创建一个功能分支(例如,master)。
  2. 如果您完成了工作,请创建从feature/#1test的合并请求,以便顾问进行测试。如果测试将被拒绝,请在功能分支上修复该问题并再次合并。
  3. 如果测试通过,请将feature/#1合并到master以准备好进行生产,并创建从masterlive的合并请求。
  4. 使用webhooks或GitLab管道将您对testlive推送事件的更改部署到不同的服务器。

    请注意,您没有发布管理,所有更改在合并时都会生效。需要在主分支上解析修补程序,并且必须将其合并到livetest中。但是在此解决方案中,您可以独立于master分支控制测试和实时系统。如果需要休息分支,您需要在特定分支上执行此操作,或者在主分支上进行硬重置并合并到测试和实时。