Dev 分支是从 Main 分支中拉出来的,经过一段时间的开发和测试,终于可以集成到Main。然而,在 Dev 分支开发的这段时间里,Main 分支也在紧锣密鼓地接受开发人员的变更提交。在从 Dev 分支向上 copy 到 main 分支之前,要确保 Dev 分支已经拥有了这段时间内 Main分支的所有变更,所以集成规则是先将这段时间 Main 分支的变更向下 merge 到 Dev 分支,再将 Dev 分支向上 copy 到 Main 分支。Rel 分支是一个已经外放的分支,如果出现线上 bug,修复和测试都发生在 Rel 分支这条线上。由于 Rel 早先也是从 Main 分支拉出来,所以 Main 分支也需要这些bug 修复。在这种情况下,Mainline 模型支持开发者将 Rel 分支的文件向下 merge 至 Main 分支,但不能从 Main 分支 copy 任何变动到 Rel 分支,因为 Rel 分已经在发布中,理论上不能再接受新的feature,除非再拉出 Rel_2 分支(包含目前最新的 Main 分支的所有已开发完成内容)。变更集成与变更跟踪在 P4 的知识体系中,merge 和 copy 两个操作都属于集成操作。集成操作和其他所有的用户操作一样,操作历史都会被记录在 Perforce 的服务器日志中。对于单个文件,P4 提供了一款强大的内置工具 —— Revision Gragh,用可视化的方式快速帮助开发者确定文件的变更走向。