我想遵循prod-test-dev的结构。
在git环境中,我会有一个包含3个分支的项目文件夹(prod-branch,test-branch,dev-branch)。
如何通过mercurial实现这一目标?据我所知,你需要有3个(!)不同的项目。代表生产分支的项目,另一个代表开发等。
这似乎效率低下。还有另一种方法来实现这一目标吗?可能我还没有真正理解分支。
使用pic进行更新,显示我在Mercurial中创建这3个分支时的流程:
答案 0 :(得分:2)
基本prod-test-dev
流程如下所示:
创建新存储库(或从现有存储库开始)。首先,您必须使用以下命令创建三个命名分支:
hg branch prod
hg commit -m"prod branch"
hg branch test
hg commit -m"test branch"
hg branch dev
hg commit -m"dev branch"
完成后,您的存储库将如下所示:
对于开发过程,您可以将存储库更新到dev
分支并在那里进行一些开发。在您将所有更改提交到dev
并准备将该代码发布到测试后,请执行以下update
到test
分支选择dev
分支并执行merge with local
(dev
分支)。在test
分支中修复代码,并在完成后将test
到dev
分支(update
到dev
的更改合并回test
,选择{{1}分支 - merge with local
)。重复循环,直到您准备好生产。然后更新到prod
分支,选择test
和merge with local
- 您将在prod
分支中准备好您的生产代码。
在一个开发测试生产周期之后,您的存储库将如下所示:
您也不应该关闭这三个分支中的任何一个,因为它们代表了您的工作流程的基础。
答案 1 :(得分:1)
正如Lasse所说 - 只需在正确的方式(tm)中使用Mercurial分支(更好地命名分支)
此处我的 2分支存储库的日志与单向同步