Perforce使用教程

简介

Perforce是一款非常优秀的商业化版本管理工具,特别是对美术资源比较友好,更新速度快安全。

安装

    • 首先安装Windows版的P4,双击安装包选择路径开始安装,这里的Server和Name可以先不填

Perforce使用教程_第1张图片

    • 启动P4登录输入服务器地址,输入分配的P4账号,自己创建一个新的Workspace

Perforce使用教程_第2张图片

    • 创建Workspace,名字的话包含项目,职位,员工名称,按照如下规则:

Perforce使用教程_第3张图片

    • 如果客户端让你确认证书指纹,请信任该指纹

Perforce使用教程_第4张图片

    • 重要:如果客户端让你选择编码方式,请选择UTF8编码

Perforce使用教程_第5张图片

    • 重要:修改Line ending:菜单栏中依次选择Connection–>Edit Current Workspace–>Advanced,然后选择UNIX

Perforce使用教程_第6张图片

    • 如果有多个库,点击Connection->Open Connection可以弹出设置服务器,用户,WorkSpace的窗口

Perforce使用教程_第7张图片

或者点击Connection->Open Recent 可以直接切换打开过的服务器,用户,WorkSpace的配置

Workspace

Workspace可以理解为,depot到本地的一个映射,对应本地的一个目录。例如:

Perforce使用教程_第8张图片

开发的过程中可以有多个Workspace(例如一个用来开发,一个用来更新验证保证提交没有错误),但一般只推荐有一个Workspace

    • WorkSpace可以切换,通过Connection->Switch To Workspace或者,如下图:

Perforce使用教程_第9张图片

选择列表中的Workspace条目,双击切换,按DEL按键可以删除Workspace。出现问题的时候先确认下Worksapce是否正确。

    • WorkSpace可以编辑,通过Connection->Switch To Workspace,如下图:

Perforce使用教程_第10张图片

Perforce使用教程_第11张图片

Perforce使用教程_第12张图片

可以修改Workspace的名字,本地目录以及一些高级参数

视图

Perforce使用教程_第13张图片

目录区分为Depot标签页表示服务器上存储的文件目录结构,和Workspace表示本地存储的文件目录结构。

    • 带感叹号的文件表示本地和服务器不一致,一般这种情况请先更新P4

Perforce使用教程_第14张图片

    • 文件目录里没有任何标记的文件是说明服务器上没有的:

    • 红色问号的表示和服务器上不一样,有冲突的。这种文件不能直接合入:

    • refresh某些情况下某些修改不能实时地在p4v中跟新,可以在view->refreash all。也可以在任意文件,目录或changelist右键中找到refresh相关的操作:

Perforce使用教程_第15张图片

 

获取

    • 在需要获取资源的目录上右键选择Get Latest Revision,这样可以拉取服务器最新的变更,【重要:每次提交前必须拉取一次】:

Perforce使用教程_第16张图片

    • 因为Get Latest Revision是拉取服务器最新变更,但是有时候我们希望覆盖本地的资源,或者是P4出了一些问题导致一些资源没有更新到。这时候我们可以选择Get Revision,然后在弹出的窗口勾选Force Operation,再点击Get Revision的按钮,强制从服务器上拉取最新的资源。这样服务器会把该目录下的资源强制拉取一遍,时间会比较长:

Perforce使用教程_第17张图片

    • 另外也可以对指定版本获取,一般用于回退到某个版本:

Perforce使用教程_第18张图片

 

Submit

P4的提交是以Changelist为单位,所有修改过的文件会放在一个Changelist里。如下图

    • 对要修改的文件,在文件上右键选择CheckOut,会弹出选择Changelist的窗口,可以放在默认或者新建的Changelist下:

Perforce使用教程_第19张图片

Perforce使用教程_第20张图片

    • 对要删除的文件可以右键选择Mark for Delete,最好在depot窗口操作,【重要:删除的时候别忘了删除meta文件】,特别是目录也有meta:

Perforce使用教程_第21张图片

    • 对新增的文件,需要到WorkSpace视图下选择Mark for Add:

Perforce使用教程_第22张图片

    • Reconcile。P4提供一个便捷的方式可以直接对一个目录进行比较,找到和服务器上不同的文件,包括修改,删除,新增。找出之后会自动添加到Changelist中,自动完成上面三种操作:

Perforce使用教程_第23张图片

Perforce使用教程_第24张图片

    • 有了Changelist之后,就可以提交了。右键Changelist选择Submit或者点击工具栏里的Submit图标,都会弹出 上传的提示框,输入上传的备注之后就可以提交了。建议每次提交前先对Changelist右键选择Revert Unchanged Files防止提交一些未修改过的文件。【重要:提交备注一定要写的详细清晰易懂】:

Perforce使用教程_第25张图片

Perforce使用教程_第26张图片

Perforce使用教程_第27张图片

 

Revert

当有文件不想提交的时候可以选择revert,revert之后会放弃本地修改,从服务器重新拉取最新的文件。

    • 选中文件或者Changelist之后右键,在弹出菜单里可以选择Revert If Unchanged或者Revert。Revert If Unchanged是当本地文件和服务器一样没修改的时候会回退。Revert则是强行回滚,放弃本地修改。如果选择的是Changelist,则会对Changelist下的所有问题做Revert操作。

Perforce使用教程_第28张图片

另外也可以通过工具栏的Revert按钮进行回退。

 

History

有多种方法可以看到目录或者文件的历史,可以看到在什么时候谁传了什么内容。可以比较修改了什么,也可以直接获得历史版本。【重要:每次提交前必须先对比一下本地文件和服务器文件的差异】。

    • 在Changelist的文件上右键,选择File History,会弹出文件历史窗口:

Perforce使用教程_第29张图片

Perforce使用教程_第30张图片

然后可以对历史做比较,可以比较任意两个历史版本,也可以拿当前本地文件和服务器历史版本比较等等:

Perforce使用教程_第31张图片

    • 还有一种就是选中目录区的文件夹或者文件上,然后在信息区切到History的标签页上:

Perforce使用教程_第32张图片

 

Resolve

当本地文件和服务器有冲突时文件上会有红色的问号。这时候我们必须首先解决冲突。

    • 在冲突文件上右键选择Resolve:

Perforce使用教程_第33张图片

然后弹出菜单中有四种选项,Accept Source,Accept Target,Accept Meged,Run Merge Tool。如果希望以自己的为准强行合并,就选择Accept Target一般来说美术资源多选择这个,如果希望以服务器为准就选择Accept Source,Target还是Source可以通过上面显示的信息确认。如果希望让工具自动合并本地和服务器,就选择Accept Merged。如果选择了Run Merged Tool就会弹出Merge工具,人工进行合并:

Perforce使用教程_第34张图片

 

Shelve

当有些文件本地修改了,希望让别人获得或者先不想上传自己缓存一下,可以使用Shelve功能。这样这些文件会传到服务器上但是不会进版本,别人或者自己也可以从服务器上再拉下来。

    • 右键选中的文件选择Shelve,也可以选中整个Changelist然后右键Shelve Files,成功之后会再Shelved Files有文件列表:

Perforce使用教程_第35张图片

    • 当想获得Shelve文件时,可以把Changelist的过滤关闭,选择希望Unshelve的Changelist,然后Unshelve:

Perforce使用教程_第36张图片

 

分支合并

当进行多线开发的时候会有多线之间互相合并的问题,例如目前的开发线是Client,920版本分支线是0.0.4.0,我们希望把主干的一次提交合并到分支上。我们可以再主干的提交记录History面板中选中历史的Changelist,然后右键选择Merge/Integrate。如下图:

Perforce使用教程_第37张图片

然后在弹出的面板中,将Merge method选择为Use branch mapping,将Branch mapping0.0.4.0,确保下方的信息栏中是从Client指向0.0.4.0分支的。最后点击下方的Merge按钮。如下图:

Perforce使用教程_第38张图片

这样就会在Pending面板中自动生成一个合并到分支的Changelist,只要对这个Changelist进行Submit提交即可。如下图:

Perforce使用教程_第39张图片

因为是合并操作,所以经常会出项冲突的情况的。这时候可以按照之前的教程进行Resolve合并解决冲突。一般二进制资源无法合并,需要选择拿哪个版本覆盖。确保自己上传的是最新资源可以选择Accept Target,会拿本地版本覆盖服务器上冲突版本。可以从红圈内的target路径和source路径判断是拿那个版本覆盖那个版本。选择如下图:

Perforce使用教程_第40张图片

 

PS

    • 【重要:一定要不要漏了传meta文件!】如果漏传了meta文件,应该把本地对应的资源文件和meta一起删除,提交服务器,然后再重新上传一遍。并且之前的引用要重新指定一遍。
    • 每次登陆需要确认Workspace正确

Perforce使用教程_第41张图片

你可能感兴趣的:(小工具,Android,技术···,Perforce)