首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将提交折叠/合并为一个更改集

将提交折叠/合并为一个更改集
EN

Stack Overflow用户
提问于 2012-04-23 10:12:58
回答 1查看 111关注 0票数 1

目前,我保持本地和开发服务器环境同步的方法是使用一个way文件。

代码语言:javascript
复制
def upload():
 """ upload project dir to the production server. """
extra_opts = '--omit-dir-times'
rsync_project(
    remote_dir=env.remote_dir,
    local_dir=env.local_dir,
    exclude=RSYNC_EXCLUDE,
    delete=True,
    extra_opts=extra_opts,
)
reload_apache()

当我想从repo中提取数据时,我会使用以下命令

代码语言:javascript
复制
def update_source():
    """ Update the project source. """
    with cd(env.directory):
        run('hg fetchanddestroy')

别名cmd在其中执行此操作

代码语言:javascript
复制
fetchanddestroy = !hg pull && hg update -C

如何在bitbucket上将一系列变更集合并为一个变更集?我试过使用machg,但它只是拉回了所有我合并的。我正在尝试一种合适的方式来将我的项目部署到我的VPS上,并使它们与我的本地存储库保持同步。在设置环境的过程中,我不得不对存储库进行一些小的调整,这导致在服务器上创建和拉出了许多更改集。因此,我希望将所有这些小的变更集合并为一个,以保持我的repo历史记录的干净。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-04-23 20:15:03

我不确定我完全理解您在问什么,但是使用类似于Git Flow的分支工作流是管理开发和发布之间的变更流的好方法。

在“短”中,

  • 将所有版本保留在名为
  • 的分支中默认情况下执行所有开发,就像您通常在发布时创建主版本的分支
  • 一样

$ hg update master && hg branch relv1.0

  • merge in what what from default,对于本例,假设最新的是您想要的。

$ hg merge default && hg commit -m "merge latest from default“

  • 如有必要,在此分支中进行更改以使测试通过(如果适用),并在一般情况下为发布做好准备,无论这对您的项目意味着什么。

$ hg commit -m“最后一分钟的bug fix...etc"

  • When您可以确信版本已经准备好了,标记它,关闭分支并将其合并到-m中。

$ hg标记“版本1.0”&& hg update master && hg merge“版本1.0”& hg提交-m“合并版本1.0”

$ hg update "release 1.0“&& hg -m --close-branch commit "all done”

  • 并最终使缺省值与主同步。

$ hg update default && hg merge master #如果有多个人进行开发,这里可能会出现合并冲突

$ hg commit -m "merge release 1.0 from master“

  • 进行部署,您只需从master

获取最新版本即可

这里的总体效果是,进入master的diff应该始终表示自上次发布以来默认分支的组合更改,我认为这是您想要的,而不是导致该发布的所有单个变更集。

显然,可能有1000种方法可以做到这一点,但我认为可以肯定的是,像Git-Flow这样的分支策略是无处不在的,你的团队可以理解它,从而遵循它。

另一种选择是使用补丁队列,这样您就可以完全控制在任何给定点进入变更集的内容。

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

https://stackoverflow.com/questions/10274028

复制
相关文章

相似问题

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