【问题标题】:How to integrate every single changelist when merging/resolving in Perforce?在 Perforce 中合并/解析时如何集成每个更改列表?
【发布时间】:2011-05-12 21:33:37
【问题描述】:

我对 Perforce 还很陌生,但我已经有使用 Git 和 Mercurial 等 DVCS 的经验,并且我熟悉 Perforce 的基本原理。

我今天和p4v 玩了一下,使用Integrate... 函数做了一些游戏代码的分支。后来我修改了源分支,并希望将这些更改也集成到新分支中。但是,所有单个更改列表都合并为一个大更改列表。这对我来说似乎不是最佳实践。如果您开发一个功能或修复错误,您自然会有多次提交,因为每次提交都应该是原子的。

合并或解析时如何保留整个变更列表?

【问题讨论】:

    标签: perforce integrate


    【解决方案1】:

    “最佳实践”取决于您的工作流程和分支机构的设置方式。确实有合适的时间让单个变更列表包含所有集成的变更列表 - 我们在工作室创建“功能”分支时经常这样做,并且该分支需要最新的主线代码。另一方面,当您需要将特定修复或功能分支到发布分支时,每个变更列表集成在产品周期结束时非常有用。

    通过变更列表集成很容易:

    1. 在“提交的更改列表”窗格 (ctrl-2) 中找到您要提交的更改列表
    2. 右键单击更改列表并选择“使用提交的更改列表 NNN 进行集成”
    3. 在后续对话框中设置您需要的任何选项。

    然后您可以从那里预览和/或运行集成。作为提示,我总是先预览集成。这将记录您在进行实际集成之前可能想要处理的潜在错误或警告条件。

    这种一次集成变更列表的方法称为“樱桃采摘”。 Perforce 有一篇很棒的关于樱桃采摘更改列表的知识库文章here

    【讨论】:

      【解决方案2】:

      这取决于你的发展方式,这是好事还是坏事。有时你想挑选变化,有时你想要一切。

      如果您只想合并 1 个更改列表,请在集成屏幕上展开“限制集成范围”箭头,然后您可以选择要集成的文件。如果您只需要 1 个更改列表,请选择“仅在两者之间集成修订”,然后只为两者选择您的更改列表。如您所见,您还可以通过修订、日期、标签和工作区来执行此操作。这种方式非常灵活。

      【讨论】:

        猜你喜欢
        • 2012-02-15
        • 2013-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多