我的名字是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
答案 0 :(得分:0)
查看git-flow,在某些情况下,它会被覆盖。您只需使用两个附加分支(live
和test
)即可缩小此工作流程。如果您开始修复新问题:
feature/#1
创建一个功能分支(例如,master
)。 feature/#1
到test
的合并请求,以便顾问进行测试。如果测试将被拒绝,请在功能分支上修复该问题并再次合并。 feature/#1
合并到master
以准备好进行生产,并创建从master
到live
的合并请求。使用webhooks或GitLab管道将您对test
或live
推送事件的更改部署到不同的服务器。
请注意,您没有发布管理,所有更改在合并时都会生效。需要在主分支上解析修补程序,并且必须将其合并到live
和test
中。但是在此解决方案中,您可以独立于master
分支控制测试和实时系统。如果需要休息分支,您需要在特定分支上执行此操作,或者在主分支上进行硬重置并合并到测试和实时。