Perforce使用指南_forP4V

第一章   前言

    Perforce SCM System是一款构建于可伸缩客户/服务器结构之上的软件配置管理工具。仅仅应用

TCP/IP,开发人员就能够通过多种Perforce客户端(几种平台的GUI、WEB、或命令行)访问

Perforce服务器。Perforce能够被快速和容易地部署,即使对大型或分布式的站点,也只要求最小限

度的管理。Perforce可以使用在50多个操作系统中,它包括版本控制、工作空间管理、变更处理和

一个强大的分支模型。这里介绍的P4V是perforce的一种可以跨平台使用的客户端。

1.1. Perforce结构

Perforce使用指南_forP4V

1.2.专业术语定义

第二章 Perforce使用介绍

2.1客户端配置

2.1.1. 服务器连接

1.是首次在您的机器上使用P4V,那开始会出现如下的创建工作空间窗口。选择“Create a new client

workspace”,在你的本地机器上创建你的第一个工作空间。

Perforce使用指南_forP4V

2.在菜单栏上,选择“Connection”下拉菜单中的“open Connection”选项。

 

3.弹出如下配置窗口,按如下配置填写正确的服务器名、端口、用户名、密码及工作空间设置。

Perforce使用指南_forP4V

4.在这里需要强调的是,登录时请务必填写Workspace的内容,否则Perforce的一些操作无法正常执行。如果还没有创建Workspace,请点击New,界面如下:

Perforce使用指南_forP4V



5.在此填入您在自己机器上所新建的工作区名称,并在如下图所示窗口中设置本地目录等信息:

如下:


 Perforce使用指南_forP4V

注意将“Option”的“modtime”选项选中。

1.填写完成后,提交确认(OK), 开始连接相应的服务器。

 

2.1.2 客户端上配置

1. 设置①:下次打开P4时,自动定位到上次退出时的路径。

Perforce使用指南_forP4V

2. 设置②:Submit时,不选择未修改的文件,只提交修改过的文件。但对于未修改的文件

还是要手动Revert。

(此功能还可以通过在pending changelist框中全选提交文件,右击,选择菜单“Revert If Unchanged”

完成。)

Perforce使用指南_forP4V

3.  设置③:当打算CHECK OUT已被别人CHECK OUT的文件时,会给出提示。

(但如果是对目录CHECK OUT,则不会提示)

Perforce使用指南_forP4V

2.1.3 客户端主要工作区

Perforce使用指南_forP4V

上图所示的是Perforce的主界面,大部分的操作都是在该界面下完成的。该界面分为三个区域:

区域1:显示Deport以及Workspace中的内容,称为目录区。

区域2:列出文件的一些操作属性,称为操作区。

区域3:给出所执行操作的提示信息,称为信息区。

2.1.3.1 目录区

目录区由Depot目录区和Workspace目录区组成。

1.Depot目录区

显示了服务器上可见目录结构(用户权限设置不同,可见目录也不同),这也与Workspace View映

射文件路径有关系,可以指定显示文件路径。在这里,可以执行的操作包括: check out, submit,

Get Latest Revision, Revert Files等操作。

Perforce使用指南_forP4V

2 Workspace目录区

显示了与服务器上文件有映射关系的,本地工作空间的目录结构,这与Workspace View也有关系。

操作同上。

Perforce使用指南_forP4V

 2.1.3.1 操作区

操作区中的内容主要由如下的几种工作区组成。

1. Pending changelists 工作区

这里显示当前用户正在修改的文件和其他开发者正在修改的文件。

当然,你只需要关心你自己的project即可。当你执行:Mark for Add,check out等操作时,这些信息

就会显示在changlist列表中显示,并由不同的图标显示其状态。如果你修改完成后,执行submit就

可提交更新文件;但也可以执行revert放弃所作的修改。

2. Submitted changelists 工作区

显示了近期所有项目组成员对项目所做的操作。

从中可以获得如:changlist号、修改时间、修改文件的内容、修改原因及修改人等信息。

Perforce使用指南_forP4V




3. Workspace工作区
在该工作区中可显示所有连接在服务器上的客户端工作空间。
在此工作区内可以执行创建、编辑修改、删除用户工作空间等操作。(前提是有执行的权限。)

Perforce使用指南_forP4V


4. History工作区
查看指定文件的变更历史信息。

Perforce使用指南_forP4V


5. Labels工作区
查看目前所有的label号。
在此工作区中可完成label的创建,内容的修改等。(前提是有执行此操作的权限。)

Perforce使用指南_forP4V


6. Branchs工作区
查看目前所有的Branch号。
在此工作区中完成Branch的创建,修改、删除等。(前提是有执行此操作的权限。)

Perforce使用指南_forP4V


除了以上说明的几种工作区,还有Files、Users、Jobs、Details以及Fild files等工作区。包括上述的

六种在内,这几个工作区窗口可以通过界面上,如下图所示的选项卡相互切换:

Perforce使用指南_forP4V


2.1.3.3. 信息区
由一个窗口(Pane windows)组成。
Pane windows
这是一个非常有用的窗口,称之为消息窗口区,最底下的那个窗口就是。你的任何操作的信息都会

出现在这里,包括success, warning, error等信息。特别是执行某个操作失败后,这里的信息是至关

重要的。一般情况下,都可以根据这里的信息来处理一些意外情况或者是不规范操作。
2.2.  Perforce的日常操作
2.2.1. 添加(Add)文件夹及文件
1. 在Workspace中选定要添加的文件夹/文件上右击,选择“Mark for Add”,添加文件。

Perforce使用指南_forP4V


将添加文件行为显示在pending changelists工作区中。在工作区上增加好文件夹和文件后,图标上有

个红色的加号标志 Perforce使用指南_forP4V ,表明此时增加的文件夹和文件还仅仅存在客户端的工作区中,还没有提交到服

务器上的仓库中。所以,右键点击需要提交的文件夹或文件,选择Submit,提交完毕后,文件此时

才真正提交到服务器上的仓库中。

Perforce使用指南_forP4V


2. 提交(Submit)添加文件/文件夹
在Submit的过程中,需要写下该变更的描述,这点很重要!描述信息的详细,将大大的方便对文件

的查询和跟踪。且在描述的开头用英文说明此次操作行为的类型。如用Add表示添加;Modify表示

修改;Build表示编译等等。

Perforce使用指南_forP4V


点击Submit后,即可看到文件前面的红色加号已经去掉了,并且在Reversion栏中已经显示出该文件

的版本号。此时,文件的右下角有个绿色的标识,表示该文件当前显示的是最新版本。

Perforce使用指南_forP4V


2.2.2. 文件修改
如果需要对文件进行修改,首先将需要修改的文件Check Out出来到本机,才可以进行修改。
1. 右键点击需要修改的文件,选择Check Out命令。

Perforce使用指南_forP4V


此时被Check Out出来的文件左上方有个红色钩标志,表明该文件已经成功的被您Check Out出来了

。如果是文件的右上方有个蓝色钩标志,说明该文件已经被别人Check Out出来了。由于Perforce支

持并行操作,所以您仍可以将别人已经Check Out的文件再次Check Out到您本机进行修改。

Perforce使用指南_forP4V


2. 双击打开已经Check Out出来的文件,对其进行修改。
修改完毕后,右键点击该文件,选择Submit,写下变更列表的描述。

Perforce使用指南_forP4V


3. 点击Submit,文件提交到服务器,增加了一个新版本。
在这里需要提醒大家的是,如果将某个文件Check Out出来后,并没有做任何修改,这时请不要做

Submit操作,而是点击右键选择Revert If Unchanged,这样提交后就不会增加该文件的版本数了,

否则服务器将会为一个没有做任何修改的文件增加一个版本。
建议在每次修改后思考:为什么要做这些修改?如果所作的修改是没有意义的,那么,建议不要将

这个文件提交(submit),而是Revert你所做的修改。
2.2.2.1. 合并文件
合并操作主要用来解决并行开发过程中变更产生的冲突。
例如,当有多人需要对同一个文件同时执行Check Out操作时,在Submit该文件时,Perforce可能会

报错。现举例如下:有A、B两人需要同时对CallKeep.cpp文件执行Check Out操作。

Perforce使用指南_forP4V


此时可以看到文件CallKeep.cpp的左上角和右上角分别有钩,这说明该文件正在被至少两个人执行

Check Out操作。由于Perforce支持并行操作,所以A和B在执行Check Out时不会发生冲突,但

Submit该文件时就可能报错了。第一个执行Submit操作的人不会出现问题,例如A可以正常提交,

但如果B修改的内容和A修改的相冲突,则B执行Submit时报错,并且会提示服务器上已经有最新的

版本了(即A刚刚提交的版本)

Perforce使用指南_forP4V


此时B获得最新版本后再提交,仍报错。

Perforce使用指南_forP4V


且在文件上打个问号,说明服务器不知道该怎么办,因为B需要提交的版本内容和A的相冲突,需要

B给予解决。

Perforce使用指南_forP4V


这时,选中该文件,右键点击,选择Resolve操作。

Perforce使用指南_forP4V


Perforce提供了三种自动解决方案,分别是“Accept Merged”、“Accept Yours”和“Accept Theirs”。当

然,你也可以查看和别人冲突的地方在哪里,进行手动解决冲突。点击Run Merge Tool,显示如下

图所示界面。

Perforce使用指南_forP4V

Perforce使用指南_forP4V




区域1:显示的是A提交版本中的内容,即目前服务器上的最新版本。
区域2:显示的是A和B同时Check out文件CallKeep.cpp时,当时服务器上最新版本内容,也就是A、

B修改的基础版本。
区域3:显示的是B自己修改的文件内容。
区域4:显示了三个版本所有冲突的地方,B可以在此基础上对文件做修改,给出解决方案。
选择红线框中的按钮来决定所保留的代码。解决完冲突后再Submit即可。

Perforce使用指南_forP4V


2.2.3. 查询文件历史版本
1. 如果想要查询某个文件的任何一个历史版本,右键点击这个文件,选择Get Revision。
2. 写下需要查看的历史版本号,然后点击Get Revision。

Perforce使用指南_forP4V


此时Perforce为您取出任何一个你想要的历史版本。

Perforce使用指南_forP4V


2.2.4. 比较两个文件的区别
比较操作主要是用来查看某个文件到底做了哪些修改:从中你可以看出添加了什么,删除了什么等

等。
1. 比较两个不同文件或一个文件不同版本之间的区别。右键点击需要比较的文件,选择Diff

Files命令。

Perforce使用指南_forP4V


2. 按照下图所示,设置需要比较的文件名称或文件的版本等。

Perforce使用指南_forP4V


3. 点击Diff就可以看到如下图所示的所有不同处,包括增加、删减或修改的操作。

Perforce使用指南_forP4V




在这里需要注意的是:Perforce暂时不支持多个文件的比较。同时,如果在进行两个文件比较时,

文件的大小超过2MB,Perforce也会报错,出现以下所示界面:

Perforce使用指南_forP4V

请大家在操作过程中注意!


2.2.5. 同步服务器上文件
如果您在服务器上找到自己所需要的文件,并希望把这些文件同步到本机,这时就需要首先选择好

工作区Workspace,然后右键点击需要下载的文件夹,选中Get Lastest Revision命令,就可以完成

文件夹的同步操作了。
2.2.6. 获取Label标识版本文件
提取出标记特定label下的文件。
1. 在工具栏上找到 Perforce使用指南_forP4V 的标识,在右上方的Labels工作区中找到所需的label号。

Perforce使用指南_forP4V


2. 获取指定label下特定文件。 右键选中指定label,在菜单中选择“Get Revision...”。

Perforce使用指南_forP4V


3. 在弹出的如下对话框中,选择需要签出的文件。

Perforce使用指南_forP4V


4. 点击“Add”按钮,选择添加标记该label的文件。

Perforce使用指南_forP4V

Perforce使用指南_forP4V




第三章 注意事项
1. 合并的Base File文件中一行的字数不可以超过6000个字符。否则会报错。
2. 在进行两个文件比较的时候,文件大小不要超过2MB,否则会保存错。
3. 关于check out
check out告诉服务器要修改指定文件,而实际上是把本地文件的属性从只读变为可写, 需要注意

的是千万不要手动去改文件信息,服务器并不会知道手工修改,这样只会带来不必要的麻烦,这些

信息会显示在pending changelists的defualt这个接点下面。
4. 关于文件删除
凡在Perforce上的任何删除操作,都由配置管理员统一操作完成。如有删除文件的需要,将需要删

除的文件的Perforce上路径发给配置管理员来完成。
5. 关于文件类型(file type)
在签入文件前,首先要查看所签入文件的类型是否包含在已设定文件类型中(可

在//depot/Misc/Types/typemap.txt文件中作查找),否则为包含的文件类型是不能成功加入perforce配

置库的。
第四章 服务端相关安装与配置
2.1. 安装步骤
1. 点击安装程序,出现如下界面,选择“User Installation”后,next继续安装。

Perforce使用指南_forP4V


2. 出现如下界面,选择需要安装的组件。选择全选。

Perforce使用指南_forP4V


3. 配置连接服务器端口等信息。

Perforce使用指南_forP4V


除Username为用户本人名以外,其他配置信息如图。
4. 最后检查确认所填安装配置信息(包括安装路径、安装组件、服务器端口号、用户名等等

)后,点击“Install”开始安装。

Perforce使用指南_forP4V


5. 在“开始”菜单程序中选择Perforce——〉P4V,进入P4V客户端程序界面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

曙光服务器优势,5大核心优势 探秘曙光Cloudview三大平台

1Cloudview1.5核心优势对于云计算而言,国产厂商也有着自己独到的云方案。曙光Cloudview云计算操作系统采用新一代云计算中心的全新的管理模型,充分考虑云计算中心的资源分配、业务运行和运维服务等各种管理要素,实现云计算中心的软硬件平台资…

直连测速服务器异常,求证! 网件R7800, Speedtest测速的怪现象,200M宽带+R7800者进...

本帖最后由 毛毛雨 于 2017-11-18 18:50 编辑宽带是联通FTTH 200M,标准千兆网线,千兆网卡。问题前的插曲:R7800刚到手,就迫不及待的换上了,结果,无论是路由器内置Speedtest册数,还是电脑端的Spe…

iOS socket

为什么80%的码农都做不了架构师&#xff1f;>>> #import "ViewController.h"interface ViewController ()<NSStreamDelegate,UITextFieldDelegate,UITableViewDataSource,UITableViewDelegate>{NSInputStream *_inputStream;//对应输入流NSOutputS…

Macosx 安装 ionic 成功教程

2019独角兽企业重金招聘Python工程师标准>>> 一、首先介绍一下ionic ionic是一个用来开发混合手机应用的&#xff0c;开源的&#xff0c;免费的代码库。可以优化html、css和js的性能&#xff0c;构建高效的应用程序&#xff0c;而且还可以用于构建Sass和AngularJS的…

mac显示无法连接adobe服务器,Mac安装Adobe软件,如遇Error提示解决方法

Mac10.15.3 安装Adobe Photoshop 2020的时候一直提示Error错误The installation cannot continue as the installer file may be damaged. Download the installer file again.看到这种问题&#xff0c;一般第一想法就是安装包损坏了&#xff0c;本能的会再下载一遍甚至多遍&am…

Grovvy初识

1.Groovy和Java对比 Groovy的松散的语法允许省略分号和修饰符除非另行指定&#xff0c;Grovvy的所有内容都为publicGrovvy允许定义简单脚本&#xff0c;同时无需定义正规的class对象Grovvy在普通的常用java对象上增加了一些独特的方法和快捷方式&#xff0c;使得他们更容易使用…

一个服务器多个网站多个域名,多个域名一个服务器吗

多个域名一个服务器吗 内容精选换一换PAS(Primary Application Server)&#xff1a;主应用服务器。AAS(Additional Application Server)&#xff1a;扩展应用服务器。ASCS(ABAP Central Services)&#xff1a;SAP应用核心服务&#xff0c;是SAP应用的一个核心控件&#xff0c;包…

Spring源码解析——如何阅读源码

阅读目录 下面看一下如何使用jar包以及源码的source包  下面给出一个简单的spring样例  如何阅读源码最近没什么实质性的工作&#xff0c;正好有点时间&#xff0c;就想学学别人的代码。也看过一点源码&#xff0c;算是有了点阅读的经验&#xff0c;于是下定决心看下spring…

ajax当页post请求,tag落地页--通过ajax-post请求数据

查询所有tag及其对应跳转链接$tags get_tags(array(get>all));$output . ;if($tags) {foreach ($tags as $tag):$output . . $tag->name .;endforeach;} else {_e(No tags created., text-domain);}$output . ;echo $output;交互tag查询image场景如下&#xff0c;通过页…

如何手工抓取dump文件及分析

在生产环境下进行故障诊断时&#xff0c;为了不终止正在运行的服务或应用程序&#xff0c;有两种方式可以对正在运行的服务或应用程序的进程进行分析和调试。 首先一种比较直观简洁的方式就是用WinDbg等调试器直接attach到需要调试的进程&#xff0c;调试完毕之后再detach即可。…

Java 类加载机制详解

2019独角兽企业重金招聘Python工程师标准>>> 一、类加载器 类加载器&#xff08;ClassLoader&#xff09;&#xff0c;顾名思义&#xff0c;即加载类的东西。在我们使用一个类之前&#xff0c;JVM需要先将该类的字节码文件&#xff08;.class文件&#xff09;从磁盘…

Nginx+PHP实时生成不同尺寸图片

原来图片服务器采用Windows .net架构&#xff0c;鉴于需求需要生成各种尺寸图片。流程说明:用户从Nginx请求对应的图片,判断是否存在_200x300的对应参数&#xff0c;如果没有就直接请求到对应目录的原图&#xff0c;否则继续判断是否在本地已经生成了对应的缓存图片&#xff0c…

掌握VS2010调试 -- 入门指南

1 导言 在软件开发周期中&#xff0c;测试和修正缺陷&#xff08;defect&#xff0c;defect与bug的区别&#xff1a;Bug是缺陷的一种表现形式&#xff0c;而一个缺陷是可以引起多种Bug的&#xff09;的时间远多于写代码的时间。通常&#xff0c;debug是指发现缺陷并改正的过程。…

【操作系统】进程管理

进程管理 进程的基本概念 程序的顺序执行及其特征 程序的顺序执行:仅当前一操作(程序段)执行完后&#xff0c;才能执行后续操作。 程序顺序执行时的特征&#xff1a;顺序性&#xff0c;封闭性&#xff0c;可再见性。 前趋图 前趋图(Precedence Graph)是一个有向无循环图&#…

va_list va_start va_end的使用

<pre name"code" class"cpp" style"color: rgb(51, 51, 51); white-space: pre-wrap; word-wrap: break-word;"><strong>一、 从printf()开始</strong> 从大家都很熟悉的格式化字符串函数开始介绍可变参数函数。 原型&#xf…

Linux学习之CentOS(三)----将Cent0S 7的网卡名称eno16777736改为eth0

【正文】 Linux系统版本&#xff1a;CentOS_7&#xff08;64位&#xff09; 一、前言&#xff1a; 今天又从Centos 6.5装回了Centos 7&#xff0c;毕竟还是要顺应潮流嘛。安装完成之后&#xff0c;发现发现CentOS 7默认的网卡名称是eno16777736&#xff0c;如图所示&#xff1a…

数据库事务的隔离机制

数据库事务(Database Transaction) &#xff0c;是指作为单个逻辑工作单元执行的一系列操作&#xff0c;要么完全地执行&#xff0c;要么完全地不执行。----百度百科就是说你定义一组数据库操作&#xff0c;然后告诉数据库说这些操作要么都成功&#xff0c;要么都不成功。类似于…

如何使用CppUnit进行单元测试

http://www.vckbase.com/document/viewdoc/?id1762 一、前言 测试驱动开发(TDD)是以测试作为开发过程的中心&#xff0c;它坚持&#xff0c;在编写实际代码之前&#xff0c;先写好基于产品代码的测试代码。开发过程的目标就是首先使测试能够通过&#xff0c;然后再优化设计结构…

iOS开发网络篇—Reachability检测网络状态

前言&#xff1a;当应用程序需要访问网络的时候&#xff0c;它首先应该检查设备的网络状态&#xff0c;确认设备的网络环境及连接情况&#xff0c;并针对这些情况提醒用户做出相应的处理。最好能监听设备的网络状态的改变&#xff0c;当设备网络状态连接、断开时&#xff0c;程…

网络七层协议 五层模型 TCP连接 HTTP连接 socket套接字

socket&#xff08;套接字&#xff09;是通信的基石&#xff0c;是支持TCP/IP协议的网络通信的基本操作单元&#xff0c;包含进行网络通信必须的五种信息&#xff1a;连接使用的协议&#xff0c;本地主机的IP地址&#xff0c;本地进程的协议端口&#xff0c;远地主机的IP地址&a…