SuperAPI AI 工具集

tools-p4-basics

编程与开发

查看项目

更新于 10-16 02:09

技能介绍

用途

本技能提供 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 核实。

限制

资料未提供本技能的安装方式、平台要求、许可或收费信息,也未说明其运行环境或依赖条件,这些内容暂未提供。