首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汞工作流

汞工作流
EN

Stack Overflow用户
提问于 2016-02-16 14:27:44
回答 1查看 52关注 0票数 1

我为多个客户端开发相同的系统,并使用Mercurial作为数据库和代码库版本控制。

工作流通常是在本地机器上开发的,部署到测试/QA阶段。然后,我部署到生产上的多个存储库。然而,现在,我必须在本周为一个客户部署到生产,其余的在几周内(必须通知其他客户)。让我们把这个版本称为10。在本周进行部署之后,我需要将一些新代码转移到测试阶段。让我们把这个版本11称为。如何在几周内将(版本10)拉到生产中,而不拉出新的更改(version 11)

我希望这是有意义的。

EN

回答 1

Stack Overflow用户

发布于 2016-02-17 07:06:18

如果您使用不同的分支,则这样的工作流是可能的,例如,如果您在默认情况下只拥有您认为足够稳定的代码,这些代码足以拉到客户端,而且到目前为止,您的所有代码都已准备好进行测试,QA是在一个单独的分支中找到的,让我们将其称为测试。

因此,如果您有一个存储库,它看起来像

代码语言:javascript
复制
hg log -G -T"{branch}-{rev}: {desc}\n"
@  testing-4: Add some code which needs testing
|
| o  default-3: Changes to be deployed to client
| |
| o  default-2: Some stuff
|/
o  default-1: Second changeset    
|
o  default-0: First changeset

然后,您只可以克隆或提取默认分支中的更改,但不能在测试分支中找到这些更改:

hg clone --branch default

hg plull --branch default

如果您稍后成功地测试了您的代码,并且希望对您的客户端也这样做,那么首先将测试分支中的代码合并为默认代码,然后,像上面一样,只将默认分支拉到客户端。因此,如果您在测试分支中执行所有编码,并且只合并到您想要发送的默认代码,那么您只会将显式合并的内容提取为默认值。

当然,您也可以逆转分支的角色:默认情况下开发,并有一个生产分支,您可以将其拉给客户。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35435153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档