游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2332

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 141|回复: 0

[韩宇飞] Perforce使用教程

[复制链接]  [移动端链接]
3偶尔光临
281/300
排名
14383
昨日变化
10

32

主题

39

帖子

281

积分

Rank: 3Rank: 3Rank: 3

UID
67815
好友
8
蛮牛币
1009
威望
0
注册时间
2015-1-12
在线时间
86 小时
最后登录
2018-10-1

专栏作家

QQ
发表于 2018-9-22 20:37:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 SilentLion 于 2018-9-27 04:33 编辑



      Perforce使用教程
      韩宇飞 V1.1 2018.8.20-2018.8.21
      简介
      Perforce是一款非常优秀的商业化版本管理工具,特别是对美术资源比较友好,更新速度快安全。
      安装
      ·        首先安装Windows版的P4,双击安装包选择路径开始安装,这里的Server和Name可以先不填
      1.png
                                    
      ·        启动P4登录输入服务器地址,输入分配的P4账号,自己创建一个新的Workspace
      2.png
      ·        创建Workspace,名字的话包含项目,职位,员工名称,按照如下规则:
      3.png
      ·        如果客户端让你确认证书指纹,请信任该指纹
      4.png
      ·        重要:如果客户端让你选择编码方式,请选择UTF8编码
      5.png
      ·        重要:修改Lineending:菜单栏中依次选择Connection–>EditCurrent Workspace–>Advanced,然后选择UNIX
      6.png
      ·        如果有多个库,点击Connection->Open Connection可以弹出设置服务器,用户,WorkSpace的窗口
      7.png
      或者点击Connection->Open Recent 可以直接切换打开过的服务器,用户,WorkSpace的配置
      Workspace
      Workspace可以理解为,depot到本地的一个映射,对应本地的一个目录。例如:
      8.png
      开发的过程中可以有多个Workspace(例如一个用来开发,一个用来更新验证保证提交没有错误),但一般只推荐有一个Workspace
      ·        WorkSpace可以切换,通过Connection->Switch ToWorkspace或者,如下图:
      10.png
      选择列表中的Workspace条目,双击切换,按DEL按键可以删除Workspace。出现问题的时候先确认下Worksapce是否正确。
      ·        WorkSpace可以编辑,通过Connection->Switch To Workspace,如下图:
      11.png

      13.png
      可以修改Workspace的名字,本地目录以及一些高级参数
      视图
      14.png
      目录区分为Depot标签页表示服务器上存储的文件目录结构,和Workspace表示本地存储的文件目录结构。
      ·        带感叹号的文件表示本地和服务器不一致,一般这种情况请先更新P4
      <v:shape id="图片_x0020_39" o:spid="_x0000_i1059" type="#_x0000_t75" alt="s *38/39  <v:imagedata src="file:///C:\Users\mack.hyf\AppData\Local\Temp\msohtmlclip1\01\clip_image014.png" o:title="39
      15.png
      16.png
      " style="width:6in; height:68.25pt;visibility:visible;mso-wrap-style:square">  ">
      ·        文件目录里没有任何标记的文件是说明服务器上没有的:
      17.png
      ·        红色问号的表示和服务器上不一样,有冲突的。这种文件不能直接合入:
      18.png
      <v:shape id="图片_x0020_36" o:spid="_x0000_i1056" type="#_x0000_t75" alt="(enter g/3g  <v:imagedata src="file:///C:\Users\mack.hyf\AppData\Local\Temp\msohtmlclip1\01\clip_image017.png" o:title="3g
      ·        refresh某些情况下某些修改不能实时地在p4v中跟新,可以在view->refreash all。也可以在任意文件,目录或changelist右键中找到refresh相关的操作:
      19.png
      20.png
      获取
      ·        在需要获取资源的目录上右键选择Get Latest Revision,这样可以拉取服务器最新的变更,【重要:每次提交前必须拉取一次】:

      21.png
      ·        因为Get Latest Revision是拉取服务器最新变更,但是有时候我们希望覆盖本地的资源,或者是P4出了一些问题导致一些资源没有更新到。这时候我们可以选择Get Revision,然后在弹出的窗口勾选Force Operation,再点击Get Revision的按钮,强制从服务器上拉取最新的资源。这样服务器会把该目录下的资源强制拉取一遍,时间会比较长:
      22.png
      ·        另外也可以对指定版本获取,一般用于回退到某个版本:
      23.png
      Submit
      P4的提交是以Changelist为单位,所有修改过的文件会放在一个Changelist里。如下图
      24.png

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

      ·        对要删除的文件可以右键选择Mark for Delete,最好在depot窗口操作,【重要:删除的时候别忘了删除meta文件】,特别是目录也有meta:
      ·        对新增的文件,需要到WorkSpace视图下选择Mark for Add:
      ·        Reconcile。P4提供一个便捷的方式可以直接对一个目录进行比较,找到和服务器上不同的文件,包括修改,删除,新增。找出之后会自动添加到Changelist中,自动完成上面三种操作:
      ·        有了Changelist之后,就可以提交了。右键Changelist选择Submit或者点击工具栏里的Submit图标,都会弹出 上传的提示框,输入上传的备注之后就可以提交了。建议每次提交前先对Changelist右键选择Revert Unchanged Files防止提交一些未修改过的文件。【重要:提交备注一定要写的详细清晰易懂】:
      Revert
      当有文件不想提交的时候可以选择revert,revert之后会放弃本地修改,从服务器重新拉取最新的文件。
      ·        选中文件或者Changelist之后右键,在弹出菜单里可以选择Revert If Unchanged或者Revert。Revert If Unchanged是当本地文件和服务器一样没修改的时候会回退。Revert则是强行回滚,放弃本地修改。如果选择的是Changelist,则会对Changelist下的所有问题做Revert操作。
      另外也可以通过工具栏的Revert按钮进行回退。
      History
      有多种方法可以看到目录或者文件的历史,可以看到在什么时候谁传了什么内容。可以比较修改了什么,也可以直接获得历史版本。【重要:每次提交前必须先对比一下本地文件和服务器文件的差异】。
      ·        在Changelist的文件上右键,选择File History,会弹出文件历史窗口:
      然后可以对历史做比较,可以比较任意两个历史版本,也可以拿当前本地文件和服务器历史版本比较等等:
      ·        还有一种就是选中目录区的文件夹或者文件上,然后在信息区切到History的标签页上:
      Resolve
      当本地文件和服务器有冲突时文件上会有红色的问号。这时候我们必须首先解决冲突。
      ·        在冲突文件上右键选择Resolve:
      然后弹出菜单中有四种选项,Accept Source,AcceptTarget,Accept Meged,Run MergeTool。如果希望以自己的为准强行合并,就选择Accept Target一般来说美术资源多选择这个,如果希望以服务器为准就选择Accept Source,Target还是Source可以通过上面显示的信息确认。如果希望让工具自动合并本地和服务器,就选择AcceptMerged。如果选择了Run Merged Tool就会弹出Merge工具,人工进行合并:
      Shelve
      当有些文件本地修改了,希望让别人获得或者先不想上传自己缓存一下,可以使用Shelve功能。这样这些文件会传到服务器上但是不会进版本,别人或者自己也可以从服务器上再拉下来。
      ·        右键选中的文件选择Shelve,也可以选中整个Changelist然后右键Shelve Files,成功之后会再Shelved Files有文件列表:
      ·        当想获得Shelve文件时,可以把Changelist的过滤关闭,选择希望Unshelve的Changelist,然后Unshelve:
      分支合并
      当进行多线开发的时候会有多线之间互相合并的问题,例如目前的开发线是Client,920版本分支线是0.0.4.0,我们希望把主干的一次提交合并到分支上。我们可以再主干的提交记录History面板中选中历史的Changelist,然后右键选择Merge/Integrate。如下图:
      然后在弹出的面板中,将Merge method选择为Usebranch mapping,将Branch mapping0.0.4.0,确保下方的信息栏中是从Client指向0.0.4.0分支的。最后点击下方的Merge按钮。如下图:
      这样就会在Pending面板中自动生成一个合并到分支的Changelist,只要对这个Changelist进行Submit提交即可。如下图:
      <v:shape id="图片_x0020_7" o:spid="_x0000_i1027" type="#_x0000_t75" alt="Files Filter• Change A default A Pending History . user is and Workspace is Description  ientA'•MProiectSetti ngs.asset *8/8  " style="width:420.75pt;height:121.5pt;visibility:visible;mso-wrap-style:square"> <v:imagedata src="file:///C:\Users\mack.hyf\AppData\Local\Temp\msohtmlclip1\01\clip_image046.png" o:title="8  ">
      因为是合并操作,所以经常会出项冲突的情况的。这时候可以按照之前的教程进行Resolve合并解决冲突。一般二进制资源无法合并,需要选择拿哪个版本覆盖。确保自己上传的是最新资源可以选择Accept Target,会拿本地版本覆盖服务器上冲突版本。可以从红圈内的target路径和source路径判断是拿那个版本覆盖那个版本。选择如下图:
      PS
      ·        【重要:一定要不要漏了传meta文件!】如果漏传了meta文件,应该把本地对应的资源文件和meta一起删除,提交服务器,然后再重新上传一遍。并且之前的引用要重新指定一遍。
      ·        每次登陆需要确认Workspace正确




更多图片 小图 大图
组图打开中,请稍候......

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表