【问题标题】:Perforce changelist vs individual filesPerforce 更改列表与单个文件
【发布时间】:2014-05-12 17:25:27
【问题描述】:

更改列表和提交对单个文件的更改之间的主要区别是什么?我习惯于 SVN/GIT 不断提交更改并在需要时恢复单个文件的想法,但是更改列表的这个新概念对我来说是新概念。到目前为止,当我对单个文件进行编辑时,P4 每次提交更改时都会创建一个新的更改列表,但我也将其视为可以一次提交(提交/推送)的多个文件的持有者,但如何做我保留单个文件更改的历史记录?

让我看文档是可以接受的。

【问题讨论】:

    标签: perforce


    【解决方案1】:

    变更列表收集了一组作为一个单元一起属于的变更。

    Perforce 仍然保留每个单独文件的历史记录,但它还将一组相关更改跟踪到一个更大的单元中,称为更改列表。

    更改列表用于将您从文件的一个一致状态移动到下一个一致状态。

    如果您对多个文件进行相关更改,例如:

    1. 您更改了 .h 头文件中某些方法的签名
    2. 您在该类的 .cc 文件中更改该方法的实现
    3. 您将该方法的所有调用者更改为使用新参数调用

    很高兴能够将所有这些工作收集到一个变更列表中,这样您团队中的其他人就可以立即收到所有这些变更。

    如今,大多数现代版本控制系统都有这个概念,但 20 年前,Perforce 以它为特色是相当不寻常的。

    【讨论】:

    • 感谢您的反馈,使用您为#1 提供的示例,如果我要对需要 2 次提交的此类方法的签名进行另一次修改,并且历史记录将随之而来。在 perforce 中,我仅将其视为一个更改列表提交(所有文件作为一个组),并且个人历史记录将丢失。这是我目前的理解,我可能完全偏离了基础。
    • 如果您愿意,您仍然可以为每个提交单独提交,但通常您希望将所有这些作为一个(带有适当的更改列表描述)进行,因此您没有有人同步签名更改而没有获得实现更改的情况。
    • 您还可以查看单个文件的历史记录,它会告诉您每个修订属于哪个更改列表。
    • @MikeO'Connor 准确地说,这就是让我感到头疼的地方。根据您的评论,我们将有多个更改列表,而我可能还没有完成项目本身。有一次,我认为更改列表几乎是一个标签,您可以在其中进行多次提交,但是当您完成项目后,您将创建一个标签来标记事情何时完成。
    • 您也可以在 Perforce 中创建标签(请参阅“p4 标签”命令)。它们也非常有用。
    猜你喜欢
    • 2010-11-07
    • 2023-03-15
    • 1970-01-01
    • 2010-12-06
    • 2019-02-04
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    相关资源
    最近更新 更多