P4V的分支、复制、集成/合并之间有什么区别?

27
我正在使用P4v,当我在文件夹上打开上下文菜单时,我有以下选项: - 集成 / 合并 - 复制 - 分支
看起来它们都在做同一件事情。 这些命令之间是否有真正的区别?
谢谢。
3个回答

23

当你集成或合并文件时,你将文件混合在一起。也就是说,你最终需要解决那些具有重叠更改的文件。'p4 merge' 和 'p4 integrate' 会处理这个问题。

当你复制文件时,你会替换文件--不会解决任何重叠更改。'p4 copy' 处理这个问题。

当你分支时,你将文件复制到以前不存在文件的位置。'p4 populate' 处理这个问题。

P4V 的行为取决于你所拥有的 P4V 版本。你可以查看日志窗格以查看它正在运行的 p4 命令。(使用“预览”来使用 -n 运行这些命令。)


"P4 copy" 在服务器端执行复制操作吗? - Calmarius
那么 p4 populate 是一个服务器端的 p4 branch 吗? - RJFalconer
‘p4 copy’可以在服务器端使用-v标志完全运行。 ‘p4 populate’类似于“p4 copy”和“p4 submit”的组合。它可以在一个命令中分支并提交文件。 - Matt
12
因为p4 integratep4 movep4 copyp4 populate都可以将文件复制到之前不存在任何文件的位置,所以这让人感到有些不尽如人意。 - jamesdlin

2
Perforce手册中:

分支

(名词) 通过复制文件创建的一组相关文件,而不是添加文件。一组相关的文件通常被称为代码行。

(动词) 创建一个分支。

集成

从现有文件创建新文件,保留它们的祖先(分支),或将一个文件集合的更改传播到另一个文件集合(合并)。

合并

将两个冲突的文件版本的内容合并成一个文件的过程,通常使用像P4Merge这样的合并工具。

解决

用于调和文件两个版本之间差异的过程。您可以选择通过选择要提交的文件或合并冲突文件的内容来解决冲突。


链接对我来说是无效的,也许应该改为这里。然而,我发现这篇P4 知识库文章更有帮助,它有一个很好的总结和示例。 - CrashNeb

1

来自Calmarius于2013年6月27日9:03的留言:

“p4 copy”是在服务器端执行复制吗?

如果您问的是Perforce是否在服务器上存储每个文件的额外副本,那么答案是否定的。复制仍然只是对Perforce存储区域中单个文件实例的引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接