资源描述
目 录1.什么是PERFORCEIV2.PERFORCE客户端的安装(这章主要是以P4WIN为例)IV安装环境要求:目前IV安装步骤:从的安装目录中下载最新版的安装程序,并点击安装。IV3.日常的简单操作V3.1SyncVI3.2open for editVI3.3Integrate useVII3.4renameVII3.5open for deleteVII3.6remove from clientVII3.7diff vs head revisionVIII3.8diff 2 files or revisionsVIII3.9view head revision usingVIII3.10open and edit usingVIII3.11propertiesIX3.12revision graphIX3.13time-lapse viewIX3.14revision historyIX3.15ExploreX3.16command promptX3.17add bookmarkX4.另外在工具栏里还有些快捷按键,可以很快帮助我们日常的开发工作。XI4.1首先是bending changelist, 这里是存放没有还未完成或未成功的版本变更信息。XI4.2列出的是所有的changelist,每对服务器进行一次操作就会产生一个changelist的新版本,如建branch,submit等。所有成功完成的版本信息这里都可以查看。XII4.3这个是分支的列表,里面列出了所有分支的清单XII4.4是label,我们可以随时在任意有写权限的目录对它们打上一个自己定义的标签,方便今后我们对这批文件的重构。比如我们完成了一个产品的版本1。0 ,我们就可以对文件打上一个label1,然后我们继续开发2。0版本,后面我们需要1.0版本的时候,我们可以通过label1把它提取出来。XIII4.5这个图表表示的client,所有这个仓库里的client都会列在这个上面,每个人都可以为自己在自己自己机器上创建一个自己的工作目录。XIV4.6是所有用户列表:XIV4.7是task栏,XV1. 什么是PERFORCEPerforce是美国perforce软件公司的软件配置产品家族,其特点是易用性强,速度快。CVS,Perforce都是以文件为核心,即面向文件的管理方式,文件可以方便的重新组合以及移植。原子化的Check In、二进制文件的版本控制是更Perforce的优势。主要特性: 安装、配置和管理非常简单,安装过程几分钟就可以搞定 基于TCP/IP的客户服务器架构,不依赖于其他网络协议如NFS等 采用流式传输协议提高传输效率 易用,命令行客户端容易上手 文件间分支技术更自然符合开发人员工作习惯 与变更管理集成,并提供开放接口,支持第三方变更管理工具2. PERFORCE客户端的安装(这章主要是以p4win为例)2.1.1 安装环境要求:目前l Platforms: Windows 2000 Professional Windows 2000 SERVER Windows 2000 XP Windows 2003 LINUX / UNIX VMS MacintoshBeOSSolarisl 硬盘分区格式:FAT32与NTFS都可以。2.1.2 安装步骤:从的安装目录中下载最新版的安装程序,并点击安装。这里仅介绍p4win客户端1. 使用p4win客户端user安装 2. menu-Settings-Switch Port Client User., use new Portport 格式一般是port: host :port 如:localhost:16663. create new client for new service先在client任意选择一个客户端,当进入的时候会提示你是否创建一个新的客户端,这个时候你就可以选择创建新的还是保留以前的了。3. 日常的简单操作perforce的工具类型:p4win: 是perforce的客户端工具,也是使用的最频繁和功能最强大的工具。P4diff: 是perforce自带的版本比较工具。P4winmerge: 是perforce自带的版本合并工具。P4v : perforce visual client 主要是为快速浏览文件历史,查看list信息使用。 日常我们客户端的操作都可以用右键的功能菜单里的操作来完成。了解了这些,就对perforce的一般操作没有什么问题了。右键功能菜单3.1 Sync在我们第一次登陆的时候,perforce会同步服务器的主干版本信息到本地workspace,但是以后我们的客户端不会自动更新这些内容。我们每次打开工作前,需要首先sync一下,这样我们就能得到目前项目中文件的最新版本(特别对公用模块和文件),不会拿着已经过时的文件进行编辑。以上是p4win中关于sync的一些操作,其中常用的是sync tohead revision 和forece sync to head revision (强制同步到本地,覆盖本地不同版本信息);sync to revision ,label, changelist or date 获取不同的时期,历史版本等到本地3.2 open for edit一般从服务器下载到本地的文件都是只读文件,这样一定程度上保证了文件的安全性。所以每次需要变更文件的时候需要先使它变为可写(这点请不要忘记)。在p4win上打开的文件就会在文件前面有一个小红钩。在toolbar里也有一个快捷按钮 。对打开的文件进行编辑后会在右键功能菜单里出现一个submit(也就是提交),对修改后的文件提交的时候一定要写注释,否则不能提交成功!从这个视图可以看到,一旦一个文件被打开,右键功能菜单又多了一个lock和revert两个操作命令lock:使用lock,是告诉服务器,目前我想独享对这个文件的修改权限,在我修改期间其他人不得修改此文件。这样可以很好的防止两个人同时对一个文件进行修改,并引发冲突。当我使用unlock和对这个文件进行提交后,这个文件又可以被其他人使用。Revert:是撤销对这个文件的所有操作。3.3 Integrate use 这个命令主要针对的是合并分支操作,分支一般由项目经理来创建。如下图:在客户端的maker文件是一个从主干分支出来的分支版本中的文件,filespec选项是针对哪一级目录或文件进行合并操作,branchspec是针对本地文件和哪一个分支进行合并。3.4 rename重命名文件名,这个操作会实际上是删除本地文件后,重新创建了一个新文件两个操作。但是文件的保留了其历史信息,在查看历史的时候能够很清楚的看到文件的rename情况。3.5 open for delete打开并删除本地的文件。如果想对服务器版本也进行修改,就需要submit,否则只是本地修改。3.6 remove from client移除客户端文件,但是并不对服务器产生影响,即使提交也不会改变服务器内容。Delete和remove 文件后,只要使用sync to head revision 就可以回复改变以前服务器的版本。3.7 diff vs head revision这个操作是本地文件和服务器主干版本的比较。这个时候perforce会自动调用p4diff工具对文件进行比较。3.8 diff 2 files or revisions这个操作可以指定服务器、客户端任意的两个文件 根据不同的date 、label、changelist、进行比较。3.9 view head revision using 查看主干版本信息。可以查看主干版本的内容,版本历史、变更信息等等。3.10 open and edit using使用不同的外挂编辑器来打开编辑文件。3.11 properties文件属性等信息。3.12 revision graph图形化的版本信息, 如下图 :这个文件在maker第4个版本的时候rename为view文件。3.13 time-lapse view查看perforce的延时情况。3.14 revision history查看版本的历史情况里面也可以比较文件的版本信息 以及查看内容和branch等。3.15 Explore这个操作非常实用,当你打开perforce客户端的时候,你可以很快在本地文件管理器下找到perforce窗口里对应目录里的目录和文件3.16 command prompt命令行操作:可以调出命令行,里面功能强大,在里面可以使用help帮助你理解各种命令的使用 p4 help command 。3.17 add bookmark添加书签,这个功能是方便快速切换到经常要工作的工作区 ,这样在工具栏里选中 可以得出下栏,直接可以到达开发目录。4. 另外在工具栏里还有些快捷按键,可以很快帮助我们日常的开发工作。4.1 首先是bending changelist, 这里是存放没有还未完成或未成功的版本变更信息。 表示目前这个工作区所有发生变化的文件列表和以前未完成的变更操作 表示目前其他工作区未完成的变更操作。的显示是表明我目前正在打开编辑的文件表示不同的用户但是在同一个工作区正在更改的文件4.2 列出的是所有的changelist,每对服务器进行一次操作就会产生一个changelist的新版本,如建branch,submit等。所有成功完成的版本信息这里都可以查看。(另外有一个小技巧,你可以从从你的perforce左窗口里的目录结构中拖动一个目录或文件到右边的changelist中,你会发现这个目录或文件的所有changelist都会单独列出来。_很方便)这里也有很多实用的操作,编辑查看这个changelist,将选定的changelist覆盖本地现在的文件版本,查找这个变更所影响的文件,以及文件目录所影响的changelist。4.3 这个是分支的列表,里面列出了所有分支的清单这里你还可以对分支进行创建,修改和合并。4.4 是label,我们可以随时在任意有写权限的目录对它们打上一个自己定义的标签,方便今后我们对这批文件的重构。比如我们完成了一个产品的版本1。0 ,我们就可以对文件打上一个label1,然后我们继续开发2。0版本,后面我们需要1.0版本的时候,我们可以通过label1把它提取出来。这里里面也可以进行很多的操作,如:创建、编辑、删除label;列出这个标签里的所有文件列表,添加、编辑、删除文件到label中;同步、比较不同的label。4.5 这个图表表示的client,所有这个仓库里的client都会列在这个上面,每个人都可以为自己在自己自己机器上创建一个自己的工作目录。注意:在view中 /depot/ /aaa/depot/指向服务器的仓库 /aaa/为你为本地工作区取的名字。root:* e:/bc 是你实际的工作区路径。你可以在这里更换不同的工作目录。4.6 是所有用户列表: 你如果需要切换用户的话,使用swich to someone,否则不会有你可以使用的权限,甚至是什么也看不见。另外,请第一次登陆的用户在任务栏里选user-set password to someone 设置自己的私人登陆密码 4.7 是task栏,关于这个基于任务的管理方式实现一般两种情况。这里项目经理可以创建一个文件或一批文件,然后分配给相应的程序员,并在task里建一个new task。新建的文件会在changelist里列出来,在这个里面选择add job fix 把新建的new task 关联起来。创建的时候状态为open ,中断suspended ,完成后closed 。然后每次项目经理检查的时候拖住那个文件,或者那批文件的上级目录 到task里,你就可以看到和这些文件相关的task 完成的怎么样了。2、这里项目经理不用自己创建文件,开发人员自己每次创建一个文件的时候自己建立一个task或和相关的rask关联起来,并在每次提交的时候填写起完成状态。最后我们就可以从task里的filter查看工作的完成情况,open的是哪些,closed的是哪些,以及suspended是哪些。
展开阅读全文