当前位置: 首页 > news >正文

[P4V]Perforce(P4V)使用教程

[P4V]Perforce(P4V)使用教程

https://blog.csdn.net/gsjthxy/article/details/93901063

1.前言

        Perforce SCM System是一款构建于可伸缩客户/服务器结构之上的软件配置管理工具。仅仅应用TCP/IP,开发人员就能够通过多种Perforce客户端(几种平台的GUI、WEB、或命令行)访问Perforce服务器。Perforce能够被快速和容易地部署,即使对大型或分布式的站点,也只要求最小限度的管理。Perforce可以使用在50多个操作系统中,它包括版本控制、工作空间管理、变更处理和一个强大的分支模型。这里介绍的P4V是perforce的一种可以跨平台使用的客户端。
2.操作区

       操作区中的内容主要由如下的几种工作区组成。
       1. 1.Pending changelists 工作区 :这里显示当前用户正在修改的文件和其他开发者正在修改的文件。当然,你只需要关心你自己的project即可。当你执行:Mark for Add,check out等操作时,这些信息就会显示在changlist列表中显示,并由不同的图标显示其状态。如果你修改完成后,执行submit就可提交更新文件;但也可以执行revert放弃所作的修改。
       1.2. 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...
————————————————
版权声明:本文为CSDN博主「gsithxy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gsjthxy/article/details/93901063

 

 

 

 

 

 

 

 

 

相关文章:

  • 解决方案是使用 default 关键字,此关键字对于引用类型会返回空
  • [unreal] 切换关卡
  • [UE4]GameInstance初始化
  • [UE4]性能优化指南(程序向)
  • vscode lua 插件
  • UE4-【C++】【打包NonUASSET文件并加载】
  • ue4-混合动画及动画状态机
  • [UE4]Montage动画设置Slot
  • Lua5.1 升级 Lua5.3 升级 小结
  • Jenkins 设置
  • Jenkins节点配置
  • Jenkins子节点构建配置
  • Python3 * 和 ** 运算符
  • perforce 获取本地最近更新的Changelist
  • jenkins--slave节点
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • Angular4 模板式表单用法以及验证
  • Bootstrap JS插件Alert源码分析
  • crontab执行失败的多种原因
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Netty源码解析1-Buffer
  • Nodejs和JavaWeb协助开发
  • Rancher-k8s加速安装文档
  • Shadow DOM 内部构造及如何构建独立组件
  • vue数据传递--我有特殊的实现技巧
  • 简单数学运算程序(不定期更新)
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 深入浏览器事件循环的本质
  • 一些关于Rust在2019年的思考
  • MyCAT水平分库
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​马来语翻译中文去哪比较好?
  • #pragma once与条件编译
  • $ git push -u origin master 推送到远程库出错
  • (1)虚拟机的安装与使用,linux系统安装
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (七)c52学习之旅-中断
  • (四)库存超卖案例实战——优化redis分布式锁
  • (学习日记)2024.01.09
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)一些感悟
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ******之网络***——物理***
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .mysql secret在哪_MySQL如何使用索引
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net 按比例显示图片的缩略图
  • .netcore如何运行环境安装到Linux服务器
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .pyc文件是什么?