Perforce:Stream实战指南
Perforce Stream 概述
什么是 Stream
我个人的理解是,Stream 是 Perforce 推出的、类似于传统分支但更智能的“流”。它提供可视化视图,便于查看分支间的同步关系。
优缺点
- 优点:并发开发、互不影响;主线改动少;分层清晰。
- 缺点:查看历史相对麻烦;通常需要多个工作区(可通过调整工作区根目录在一个工作区间切换多个 Stream,但相对麻烦)。
注:为每个 Stream 准备一个本地文件夹可加速工作区切换,节省时间。
新建 Stream
创建 Stream Depot(P4Admin)
创建主干(Mainline)
注:注意保存位置(Depot/路径)。
创建分支(Branch)
方式二:在 StreamGraph/Stream 列表中,右键父节点(如主干)创建。

分支类型
- Development:用于长期项目和主要新特性开发。适合长期演进版本。
- Release:用于修复 bug、测试与发布分发。
- Virtual:用于缩小范围并直接提交给父级,常作为筛选器创建特定子集。
- Task:轻量分支,便于短期 bug 修复/小特性开发。可放在其他 Depot,父节点可为空或其他库(含标准库)。
- 建议统一放入
TaskDepot,便于后续集中管理;确认 Location 是否为 Task 路径,必要时手动调整。 - 注意:Task 创建后不可删除,且不可同名;不使用时不可见。
- 建议统一放入
- “自动创建工作区”可不勾(按需)。
- “将父节点文件填充到分支”默认勾选(通常保留)。
使用 Stream
新建 Stream 工作区
工作区切换(StreamGraph)
- 在 P4V 的 View 中打开 StreamGraph。

- 同一 Depot 内:拖拽“电脑”图标到目标 Stream 即可快速切换;Perforce 会自动下载/清理差异文件,工作区根目录不变。
- 不同 Depot 间:标准做法是切换工作区;若受工作区数量上限约束(如 ≤10 个),可通过修改现有工作区实现切换:
合并与更新
- 两个流之间的上箭头表示“可更新”(copy to child/parent),下箭头表示“可合并”(merge)。
- 无箭头:当前不支持该方向;灰色箭头:已一致;绿色箭头:有更新或差异。
流程建议:
- 先将工作区切换到“目标流”。例如:把个人流改动更新到主干,应切到“主干”而非个人流。

- 在目标流上右键:
Merge to为合并,Copy to为拷贝更新。 - 选择
Source Stream(表示“从哪里到这里”)。

- 勾选自动合并并提交;若有冲突则改为手动处理后提交。

连接外部文件(类似 SVN externals)
用途:将其他库(通常是公共库)中的文件连接到当前库中使用。
示例:以插件 Prefixed 为例
注:分支会自动继承主干设置;若仅在某个分支使用,请只修改该分支。
Perforce 指令
在 P4V 中查看/使用命令行
同步指令(不重新下载已存在文件)
p4 sync -k
感谢阅读,欢迎点赞、关注、收藏,有问题可在评论区交流。
如果本文对你有帮助,点击这里捐赠支持作者。












