简介
一个版本控制工具
基本概念
depot 翻译过来为仓库,在安装perforce后,默认会有一个local的depot,并且名字也叫depot
。depot包含下面几种(:
来源于官方文档和chatgpt)
- local : 默认类型,文件直接存储在 Perforce 服务器上
- stream : 用于管理流式开发模型(Streams)。
- remote : 允许一个 Perforce 服务器访问另一个服务器上的 depot,适用于跨服务器协作。
- archive : 存储已归档的文件,不支持提交或编辑,主要用于历史记录的长期保存。
- spec : 存储已归档的文件,不支持提交或编辑,主要用于历史记录的长期保存。
- unload : 存储被卸载的客户端工作区或任务流的数据,减少服务器的负担。
- tangent :
- graph : 用于存储 Git 仓库中的数据,支持 Git 和 Perforce 同时工作(Git Fusion 功能)。
- trait
stream 为流,保存在服务器上。是一种特殊的depot。
workspace : 工作空间,内容保存在本地目录。
client : clinet和workspace可以理解为一样的东西
启动
服务端
使用p4d
或者使用脚本 p4d.sh。参数:
- -r 指定根目录
- -d 指定 TCP/IP 端口
客户端
使用p4v
启动,在将perforce服务器上的内容sync到本地时,文件默认不具备写的权限,需要使用p4 open xxx
将某个文件的状态至于open状态,这个操作会某个文件具有了写的权限。使用chmod
来改变文件的属性不会改变该文件在perforce上的状态
命令
client/workspace 相关
描述 :创建或者编辑一个 client workspace
p4 client xxx
: 创建 client xxxp4 client -d release1
: 删除 client release1p4 clients
: 列出所有的 clientsp4 client -S stream clientname
: 新建一个 client,并且与 stream 绑定p4 client -s -S stream clientname
: 改变 client 与 stream 的映射p4 client -S //JamCode/main
: 将 workspace 与 stream 绑定p4 workspaces
: 查看所有的 workspacep4 workspace xx
: 创建 xx workspacep4 workspace -d xx
: 删除 xx workspacep4 submit -d "添加描述"
: 提交到perfore服务器p4 opened
: 查看已经open的文件p4 sync test
: sync文件test的最新版本p4 sync test#1
: sync文件test的第一个版本
p4 diff a b
: 比较文件a和文件bp4 diff a#1 a#2
: 比较文件a的第一版和第二版
stream相关
描述 : 创建 stream
p4 depot -t stream JamCode
: 创建一个 stream depotp4 stream -t mainline //lang/c
: 在 lang 下创建 c,为 mainline 类型,前提是lang的深度必须要为2
depot相关
描述 :创建或者删除 depot
p4 depots
: 查看所有的 depotp4 depot xx
: 新建 xx depotp4 depot -d xx
: 删除 xx depotp4 depot -f -d sandbox
: 强制删除 sandbox depot- 删除非空的 depot
p4 obliterate -y //lang/...
p4 depot -d lang
user相关
p4 users
: 查看所有的用户p4 groups
: 查看所有的组p4 user -f xx
: 新建 xx 用户