用途
本技能提供 Perforce(P4)这一中央化版本控制系统的核心日常操作指导,面向需要处理大型代码库和二进制资产的开发场景。内容涵盖同步最新变更、将文件打开以进行编辑、添加新文件、删除文件、提交变更以及还原无用变更。
文件状态
技能列出了 Perforce 中的关键文件状态及其切换命令:
| 状态 | 说明 | 变更命令 |
|---|---|---|
| Not in depot | 文件存在于本地但未被跟踪 | p4 add |
| Synced | 文件与仓库版本一致 | - |
| Edited | 已打开编辑并在本地修改 | 先 p4 edit 再修改 |
| Added | 已标记为待加入仓库 | p4 add |
| Deleted | 已标记为待从仓库删除 | p4 delete |
| Out of date | 仓库存在更新版本 | p4 sync |
版本指定符
支持通过 # 指定具体修订号(如 file.txt#3)、#head 指定最新版本、@ 指定变更列表号(如 file.txt@12345)、标签(file.txt@release_1.0)、日期时间(如 file.txt@2024/01/15、file.txt@2024/01/15:14:30:00)以及修订范围(如 file.txt#2,#5、file.txt@10000,@12000)。
同步操作
- p4 sync 同步整个工作区到最新版本。
- 支持同步指定路径或文件,以及同步到指定修订版、变更列表。
- 选项包括:-n 预览、-f 强制重新下载、--parallel=threads=4 并行加速、-s 安全同步(不覆盖可写文件)。
- 可通过 p4 sync //depot/project/....cs 等模式做选择性同步,或同步特定子目录。
编辑操作
- p4 edit 打开单个、多个或目录下的文件进行编辑,可指定变更列表。
- p4 opened 查看已打开编辑的文件,支持按变更列表、所有用户、指定文件等维度过滤。
添加操作
- p4 add 添加单个、多个或递归添加文件,可指定变更列表与文件类型。
- 文件类型包括 text、binary、unicode、symlink;修饰符包括 +l(独占锁)、+w、+x(可执行位)、+S、+F。
- 示例:p4 add -t binary+l Assets/Textures/hero.psd、p4 add -t text Assets/Scripts/Player.cs。
删除操作
- p4 delete 删除文件,可指定变更列表或按模式匹配(如 ....tmp)。
- 可通过 p4 files 查看仓库中已删除的文件,并可用同步旧版本后重新添加的方式恢复。
还原操作
- p4 revert 支持还原单个文件、整个变更列表、所有打开文件、仅未修改文件(-a)以及预览(-n)。
- 还原到指定修订版本需结合 sync、edit、sync -f、resolve -ay 与提交操作。
提交操作
- p4 submit 提交默认或指定变更列表,可附带描述(-d)或只提交指定文件,也可提交后重新打开(-r)。
- 提交前的检查包括:p4 opened -c default、p4 sync、p4 resolve、p4 diff -se、p4 change -o。
状态命令
- 工作区状态:p4 opened、p4 sync -n、p4 status、p4 reconcile。
- 仓库状态:p4 files、p4 fstat(含 -Ol 详细输出)。
Reconcile 操作
- p4 reconcile 用于发现本地未被 Perforce 跟踪的变更,支持预览(-n)及按类型仅处理编辑(-e)、新增(-a)、删除(-d),并可指定变更列表。
常见工作流
- 每日同步:检查已打开文件 → 同步 → 解决冲突 → 继续工作。
- 编辑-提交:打开文件 → 修改 → 查看 diff → 提交。
- 添加新文件:本地创建 → p4 add → 检查 → 提交。
最佳实践
技能列出多项实践,例如:编辑前先同步、使用描述性变更列表说明、将相关变更一起提交、用 p4 revert -a 还原未修改文件、离开前用 p4 opened 检查、用 p4 reconcile 捕获本地变更、破坏性操作前用 -n 预览、二进制文件使用独占锁、测试后再提交、保持变更列表精简。
疑难排查
技能以表格形式列出常见问题与解决方式,如“File not on client”需先执行 p4 sync,“Can't edit - not synced”需先同步再编辑,“Can't clobber writable file”可用 p4 sync -f 或修正权限,“File already open”需用 p4 opened -a 查看占用者,“Out of date”需同步并解决冲突后再提交,“No such file”需检查路径并用 p4 files 核实。
限制
资料未提供本技能的安装方式、平台要求、许可或收费信息,也未说明其运行环境或依赖条件,这些内容暂未提供。