(整理)P4V -- Perforce客户端入门教程


       最近手头工作算是告一段落,所以又开始逛博客园了,看了自己几年前写的两篇没有结尾的P4V的教程,虎头蛇尾太难看了,于是开始整理一下,写一篇完整的P4V教程。(不会再开新帖,所有内容直接在本文中更新。)

  目录:

  1. 什么是Perforce?什么是P4V?
  2. 如何安装和设置P4V?
  3. 初次使用:下载,上传,更新,删除,冲突处理
  4. 如何使用"Revision"
  5. 什么是Branch?
  6. 什么是Stream?
  7. 扩展插件
  8. 管理员工具
  9. 其它实用功能整理

 

1. 什么是Perforce?什么是P4V?

  perforce可以说是一款功能十分强大的版本控制软件。何为版本控制?我通俗地讲,就是为整个项目开发过程中所有文件都建立一个记录列表,并可以调用或修改这些记录。这样做的好处是,你不用再每次修改完一个文件后将它另存为一个新的副本,然后文件或者文件夹标上各种复杂的像是日期或者编号之类的名字来识别,同时在合作开发中可以清楚的知道谁在哪个时间提交过什么修改。它的好处一是方便了集体合作开发时的内容整合,二是详细保存了开发中的所有纪录。

  P4V是perforce的界面客户端程序,官方的安装程序中也集成了命令行工具,网页客户端等。通常普通用户只需要用到P4V就足够了,命令行可以用来做自动化编译,网页版可以用来做RSS订阅。既然有客户端,自然有服务器,perforce是典型的C/S,但是服务器是perforce admin要关心的部分,对普通用户而言完全没有必要了解。

perforce官方主页:http://www.perforce.com/

p4v客户端下载:http://www.perforce.com/product/components/perforce-clients-tools

p4v官方文档:http://files.cnblogs.com/sasafly/p4v%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C.pdf  


 

2. 如何安装和设置P4V?(WIP)

  首先,我解释一下P4V中常见的几个名词:

  • Server(port): server代表perforce服务器的地址,也就是p4v客户端需要去连的这个地址,安装p4v时会有一个默认的“localhost:1666”,这个地址并非空穴来风,因为假如你自己尝试下载一个perforce服务器到本地来启用,这正是它的默认地址。通常我们要根据项目提供的服务器地址来填写。加了一个"(port)"是因为设置中并没有给出port的选项时,server地址的格式通常是"server:port",但设置中有port的选项时,server地址的格式就是"server",而port就是"port",这个在后面安装时我会再说明。
  • User: 这个很通俗,就是你的用户名,这个用户名通常是由管理员创建好后告诉你的,根据管理员对p4安全设置的不同配置,在第一次连接时可能会需要新建密码。
  • Workspace(client): 这两个名词代表的是同一个东西,它是基于当前主机的一个虚拟客户端,P4V是一个用于连接服务器和使用perforce的客户端工具,而要在上面工作就需要建立一个本地和服务器映射的workspace(可能是因为"client"这个名字确实容易混淆,在新版本的p4v中很少见到了,但是在命令行工具的相关配置中还是延用了这个名字,比如"P4CLIENT",所以在此简单介绍一下,以免刚开始使用的同学会有所混淆。)。相关配置在后面会讲到。
  • Depot: 代码仓库。在P4V里它表现是一个树型目录,代表着服务器上的文件及目录状态。

  不同版本的客户端在安装和配置时会有些许差异,但是主要内容是相同的,我用的是最新版本做截图演示,其它版本请大家自行尝试。

  安装

  

 

  配置:

   第一次进入P4V的时候,会提示配置连接,这时我们按工作的项目要求填写即可。如果本机上从未使用过P4V,需要新建一个workspace,以下是配置详情。配置完后会提示是否要立刻将资源的最新版本下载到本地,根据自己的需求决定即可。

在P4V下方有一状态栏,当进度条在滚动中时,说明有任何正在进行,同时Log框会显示相应的操作。因为P4V中有很多是对文件的操作,也可以在设置是配置是否要在Log中显示操作的所有详细。

  在P4V的左侧,我们可以看到和depot相对应的树状目录,要显示哪些内容可以通过对筛选器来决定。

 

 P4V中还有很多细致方便的功能,这里就不一一介绍了,大家可以自己摸索。

 


 

3. 如何使用"Revision"(WIP)......

   Revision: 将“Revision”单独列出来,因为它可以说就是Perforce及其它SCM系统的核心。文件和功能都是基于版本来完成的。灵活地使用“Revision”可以让开发和部署变得更轻松。

首先来看一下如果对某个单独文件进行操作:

  • Sync to revision: 
  • Rollback to revision:
  • View history:
  • Revision Graph:

  Changelist: "changelist"是perforce中基于"Revision"的重要成员。它是一次版本的提交,这不仅仅是针对这条changelist中包含的文件,也相当于对整个depot版本的一次更新。所以基于changelist的操作更加的多样化,以下是几种常见操作:

  • Sync to revision:
  • view history:

 

4. 初次使用:同步,上传,更新,删除,冲突处理(WIP)......

changelist不仅可以用来“看”,它同时也是一切操作的基本,changelist来源于Workspace,与用户的每一个操作息息相关。

  • Sync: 同步。指的是将本地文件与服务器上的文件的特定版本进行同步,通俗的说也就是将服务器上的特定版本下载到本地。
  • Check out/mark for edit: 将文件标记为“修改状态”。指的是基于本地正在使用的workspace,把特别的文件或目标标记为“修改”状态,从文件系统上会将本地相应的文件状态由“只读”改为“可写”。
  • mark for add: 添加文件。
  • mark for delete: 删除文件。
  • submit: 将修改提交到服务器上保存。
  • resolve:

 


 

5. 什么是Branch? (WIP) ......

  Branch: 正如它字面上的意思,表示“分支”。这里的分支指的是版本的分支。Perforce本身是一个版本管理系统,所有的文件、目录都是基于版本这个根本来保存的,我们通常工作所用的Depot可以认为它是一条主时间轴,而分支就是在某些特殊情况下需要按特定条件分流出来的副时间轴。

 

  如何快速创建一个新的Branch?

  1. P4V中默认在上部有一条快捷按钮,如图所示。点击箭头1所指的绿色按钮可以在面板右边打开“Branch Mappings” 标签。如果你在按钮栏找不到这个按钮,请按箭头2在“View”中选择“Branch Mappings”。

 

  2.  这里将显示出已有的Branches。在空白处右击鼠标,选择“New Branch Mapping…”。

 

  3.  如图弹出一个标准的新建branch的窗口,请按数字标签依次填写:

    (1) Branch的名字;

    (2) 创建Branch的用户名;

    (3) 这个Branch的描述(比如项目、功能等Tags或者详细描述);

    (4) 主时间 轴与副时间轴的映射,比如:

      //main_branch/… //specific_branch/…

      //mian_branch/a.file //specific_branch/a.file

它的格式类似新建workspace时的mapping,不同之处在于两边都是完全的depot path格式。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM