p4复制和分支合并有什么区别?

What's the difference between p4 duplicate and branching and merging?

所以在 perforce 中,我们有 p4 integrate p4 duplicate p4 copyp4 branch 有什么区别,我什么时候应该使用哪个?

C:\Perforce\test>p4 help branch

    branch -- Create, modify, or delete a branch view specification
    ...

您可以使用此命令(可选)创建分支规范供以后使用 copyintegratemerge、and/or populate .请注意,所有这些命令也可以采用两个文件路径形式的即时映射,如果您使用的是流,则不使用分支规范,因为映射是基于父子路径自动生成的流。

C:\Perforce\test>p4 help copy

    copy -- Copy one set of files to another
    ...

以创建与源文件相同的新头修订的方式打开目标文件。 (在某些情况下,这可能会覆盖目标中的更改——如果您正在使用流,则副本上有保护措施可以帮助防止这种情况发生,但否则您应该始终使用 integrate 除非您绝对确定自己想要覆盖目标。)

C:\Perforce\test>p4 help integrate

    integrate -- Integrate one set of files into another
    ...

打开目标文件(并安排解析),以创建新的主要修订,将源中所有未完成的更改与目标中的现有更改结合在一起。实际执行合并是通过 submit.

之前的 resolve 命令完成的
C:\Perforce\test>p4 help duplicate

    duplicate -- duplicate revisions with integration history (unsupported)
    ...

如其所说,不受支持。这有您希望永远不需要发现的特定用例。