[P4V]Perforce(P4V)使用教程
Perforce(P4V)使用教程
1.前言
Perforce SCM System是一款构建于可伸缩客户/服务器结构之上的软件配置管理工具。仅仅应用TCP/IP,开发人员就能够通过多种Perforce客户端(几种平台的GUI、WEB、或命令行)访问Perforce服务器。Perforce能够被快速和容易地部署,即使对大型或分布式的站点,也只要求最小限度的管理。Perforce可以使用在50多个操作系统中,它包括版本控制、工作空间管理、变更处理和一个强大的分支模型。这里介绍的P4V是perforce的一种可以跨平台使用的客户端。
2.操作区
操作区中的内容主要由如下的几种工作区组成。
1.Pending changelists 工作区 :这里显示当前用户正在修改的文件和其他开发者正在修改的文件。当然,你只需要关心你自己的project即可。当你执行:Mark for Add,check out等操作时,这些信息就会显示在changlist列表中显示,并由不同的图标显示其状态。如果你修改完成后,执行submit就可提交更新文件;但也可以执行revert放弃所作的修改。
1.Submitted changelists 工作区 :显示了近期所有项目组成员对项目所做的操作。从中可以获得如:changlist号、修改时间、修改文件的内容、修改原因及修改人等信息。
3. Workspace工作区 :在该工作区中可显示所有连接在服务器上的客户端工作空间。 在此工作区内可以执行创建、编辑修改、删除用户工作空间等操作。(前提是有执行的权限。)
4. History工作区 :查看指定文件的变更历史信息。
3.文件修改
1.1.每次要修改文件的时候,需要先check out 到本地,然后进行修改。 此时被Check Out出来的文件左上方有个红色钩标志,表明该文件已经成功的被您Check Out出来了。如果是文件的右上方有个蓝色钩标志,说明该文件已经被别人Check Out出来了。由于Perforce支持并行操作,所以您仍可以将别人已经Check Out的文件再次Check Out到您本机进行修改。
1.2.双击打开已经Check Out出来的文件,对其进行修改。 修改完毕后,右键点击该文件,选择Submit,写下变更列表的描述。
1.3.点击Submit,文件提交到服务器,增加了一个新版本。 在这里需要提醒大家的是,如果将某个文件Check Out出来后,并没有做任何修改,这时请不要做Submit操作,而是点击右键选择Revert If Unchanged,这样提交后就不会增加该文件的版本数了,否则服务器将会为一个没有做任何修改的文件增加一个版本。
建议在每次修改后思考:为什么要做这些修改?如果所作的修改是没有意义的,那么,建议不要将这个文件提交(submit),而是Revert你所做的修改。
4.合并文件
合并操作主要用来解决并行开发过程中变更产生的冲突。 (Check out --> Get latest --> Resove --> Accept Merge)
例如,当有多人需要对同一个文件同时执行Check Out操作时,在Submit该文件时,Perforce可能会报错。现举例如下:有A、B两人需要同时对CallKeep.cpp文件执行Check Out操作。 此时可以看到文件CallKeep.cpp的左上角和右上角分别有钩,这说明该文件正在被至少两个人执行Check Out操作。由于Perforce支持并行操作,所以A和B在执行Check Out时不会发生冲突,但Submit该文件时就可能报错了。第一个执行Submit操作的人不会出现问题,例如A可以正常提交,但如果B修改的内容和A修改的相冲突,则B执行Submit时报错,并且会提示服务器上已经有最新的版本了(即A刚刚提交的版本) 。这时,选中该文件,右键点击,选择Resolve操作。 Perforce提供了三种自动解决方案,分别是“Accept Merged”、“Accept Yours”和“Accept Theirs”。当然,你也可以查看和别人冲突的地方在哪里,进行手动解决冲突。点击Run Merge Tool,显示界面从左到右。
区域1:显示的是A提交版本中的内容,即目前服务器上的最新版本。
区域2:显示的是A和B同时Check out文件CallKeep.cpp时,当时服务器上最新版本内容,也就是A、
B修改的基础版本。
区域3:显示的是B自己修改的文件内容。
区域4:显示了三个版本所有冲突的地方,B可以在此基础上对文件做修改,给出解决方案。
选择红线框中的按钮来决定所保留的代码。解决完冲突后再Submit即可。
5.查询文件历史版本
1.1. 如果想要查询某个文件的任何一个历史版本,右键点击这个文件,选择Get Revision。 如果不能Get下來,需要勾選Force Operation。
1.2. 写下需要查看的历史版本号,然后点击Get Revision。此时Perforce为您取出任何一个你想要的历史版本。
6.比较两个文件的区别
比较操作主要是用来查看某个文件到底做了哪些修改:从中你可以看出添加了什么,删除了什么等等。
1.1. 比较两个不同文件或一个文件不同版本之间的区别。右键点击需要比较的文件,选择Diff Against命令。
7.同步服务器上文件
如果您在服务器上找到自己所需要的文件,并希望把这些文件同步到本机,这时就需要首先选择好工作区Workspace,然后右键点击需要下载的文件夹,选中Get Lastest Revision命令,就可以完成。
8.對比服務器與本地文件的差異
選擇需要對比的目錄,選擇Reconcile Offline Work...
9. P4常用命令
命令 | 解释 |
p4 diff -se … | 查看当前目录下的编辑文件 |
p4 filelog file | 查看file的日志 |
p4 changes -m 5 file | 查看file最近5条日志 |
p4 diff file#1 | file与其库中版本#1 |
p4 reconcile … | 离线工作之后,p4 reconcile可查看文件增删改状态,p4 changelist可再次查看 |
p4 have file | 查看最新版本 |
p4 reopen -c id file | 指定文件重新加入指定change list, 此命名前先使用p4 change生成CL号 |
p4 opened | 查看change list中已打开未上传的文件 |
p4 changes -m1 …#have | 查看本地库当前CL号 |
p4 sync -f …@CL | 强制覆盖还本地文件 |
p4 revert -c default //… | Revert every file open in the default changelist to its pre-opened state. |
p4 revert -n ... | #恢复所有打开却没提交的文件 |
p4 shelve -c CL | CL上传到shelve |
p4 shelve -d -c CL | 上传前需删除shelve |
p4 unshelve -s CL | unshelve到当前client |
p4 shelve -f -c CL | 有新文件加入已shelved的CL后,需要用-f重新提交 |
p4 describe -s CL | 查看对应CL提交log |
p4 submit -d "some description" file | 提交(check in)已经编辑好的文件 |
p4 cstat ... | 查看当前worspace的所有的CL,已下载的和未下载的 |
1)p4 opened 2)p4 change 3)p4 submit -c CL 4)p4 opened |
如果 edit 了多个文件,eg: a,b,c,d. 但是只需要上传其中的部分文件, eg: a,b. 1)显示 a b c d 四个文件被编辑 2)通过p4 change,得到一个change list (eg:116119), 并自动生成打开一个 vim 文件,编辑文件,把不需要的文件 c d 从vim里去掉,添加description, 保存并退出。 3)CL为刚才得到的change list, 比如 116119, 我需要输入命令p4 submit -c 116119, 就会把需要上传的 a b 上传 4)此时会发现, 只有c d 还在, a b 已经被上传 |
斜体部分为变量 | |
file : file name | |
CL : change number |
[P4V]Perforce(P4V)使用教程相关推荐
- perforce p4v linux,Perforce p4v下载
perforce p4v是款简单实用的版本控制工具:它可以快速的帮助用户进行服务器系统的管理,也支持对配置进行快速的选择,让您轻松的即可完成版本的控制:这款软件的附件包里面,还附带了注册机,可以快速的 ...
- VS2017安装P4VS插件 设置连接到Perforce P4V
安装P4VS (1)首先下载P4VS 下载地址:https://www.perforce.com/zh-hans/perforce/product/20 选择好对应的VS版本,点击下载. (2)关闭本 ...
- Perforce使用中文教程
P4递交建议流程: 1. p4 sync 2. 覆盖或者改动local文件 3. p4 delete or 直接delete 废弃的文件 4. p4 add: 增加新文件到depot 5. p4 di ...
- [P4V]Perforce常用命令总结
Perforce(P4)常用命令总结 一.P4V环境变量配置(在你的.tcshrc中添加): P4USER = <username> P4PORT = <ip> P4CLIEN ...
- Perforce使用中文教程: p4 client
p4 client 摘要 创建或者编辑一个客户工作区的定义和它的视图. 语法 p4 [g-opts] client [-f -t template] [clientname] p4 [g-opts] ...
- perforce(p4) 使用
P4递交建议流程: 1. p4 sync 2. 覆盖或者改动local文件 3. p4 delete or 直接delete 废弃的文件 4. p4 add: 增加新文件到depot 5. p4 di ...
- 浅入浅出——我的perforce客户端教程之二(或:p4v使用教程)
我假设你是一个对perforce完全陌生的新用户,然后你也许会奇怪为什么同样的概念要用不同的两个名称,实际上除了可视的客户端,perforce当然也有功能强大的命令行,好吧也许你觉得有界面才是更高级的 ...
- 一款好的游戏开发IDE是什么样子?Rider使用体验和建议
这是[游戏开发那些事]第59篇原创 作为一名入行多年的游戏开发者,尤其是虚幻引擎的重度用户,我在IDE工具的选择上真的很难有VisualStudio以外的其他选项.不过自从 2017年JetBrain ...
- Asset Server 整理
资源服务器指南 Asset Server Guide Date:2012-11-23 11:00 Unity Asset Server Overview Unity资源服务器概述 The Unity ...
最新文章
- 读懂深度迁移学习,看这文就够了 | 赠书
- 基于生成对抗网络(GAN)的人脸变形(附链接) | CSDN博文精选
- php websocket
- html树状图右侧_如何在 Tableau 中创建控制图?
- python open文件安全隐患_python的其他安全隐患
- Xilinx+AWS F1+VP9带来30倍实时转码性能提升
- Log4j的扩展-支持设置最大日志数量的DailyRollingFileAppender
- SQL里变量的声明以及常用函数举例
- 显卡风扇不转电脑黑屏_笔记本电脑开不了机是什么原因及常见解决办法
- android uses-permission 配置详解
- JAVA格式化输出浮点数:空格,位数
- 前端数据可视化echarts.js使用指南
- 【CarMaker学习笔记】CarMaker Python API 接口使用方法
- Java反编译工具 luyten 0.5.3
- android 照片加水印,Android实现为图片添加水印
- 隐蔽的大数据杀熟,“百亿补贴”会员竟比非会员贴得少?
- MIMO技术杂谈(三):知己知彼,百战不殆--信道信息的获取和应用
- n个单词输入次数 c语言,C语言问题,从键盘输入n个英语单词.输入格式为n,w1,w2,w3…wn,其中n表示随后输入的英语...
- 少儿计算机基础知识,学会这三个小知识,轻松入门少儿编程
- 远程计算机时能看吗,QQ远程控制对方电脑上的所有东西都能看见吗 – 手机爱问...
热门文章
- 女生到底还做java还是前端_女孩子想转行的话学前端好还是java,哪个更有发展?...
- mysql8删除root用户,Window下如何恢复被删除的Mysql8.0.17 Root账户及密码
- 阿里直播在线人数只统计rtmp格式的播放源
- shoug oracle,SHOUG User Group Young Expert Program
- openGL 纹理使用
- 【转贴】龙芯生态产品和解决方案巡展(第二篇)——笔记本电脑
- Linux(CentOS) 安装JDK
- 笔记本上的小键盘计算机怎样用,电脑怎么调出小键盘打字?电脑调出小键盘打字的方法...
- Elasticsearch之Mapping设置详解
- 移动应用程序开发_移动应用程序开发生命周期-从开发到应用程序商店的应用程序之旅