zoukankan      html  css  js  c++  java
  • [SCM]源码管理 perforce高级操作

    以下的操作基于P4V。

    1 p4 refresh all

    某些情况下某些修改不能实时地在p4v中跟新,此时可以使用p4v refresh all。

    还可以在任意的item上右键中找到refresh相关的操作。例如本地目录下删除或增加文件,在p4v中不能的及时反映,这个时候可以在 workspace中的目录中右键中点击refresh相关选项。当然其他的changelist,client,depot等也都有相应的 refreash。

    操作: view->refreash all

    2 p4 rollback

    用来将已经提交的修改撤销,或者恢复到某个之前的changelist。

    如果是没有提交的修改(即在本地的pending changelist),使用revert unchanged files或revert files。

    操作:例如如下将//depot/projectB恢复到version(changelist)14,在//depot/projectB上右键然后点击rollback,在rollback的dialog上设置changelist为14,然后直接submit。

    3 p4 shelve

    shelve是p4 2009后的新功能。需要p4 server和p4 client同时支持。

    shelve操作用来临时存储正在进行的工作到perforce server,但是没有submit一个changelist。
    shelve的用处:
    当你在一些文件上同时进行多个开发任务(例如必须先处理优先级更高的工作,或必须在提交前到其他的平台测试)。
    或者用来在提交前developers间的code review。

    p4 shelve 相当于将你的修改零时的挂载到p4 server的架子上。
    p4 unshelve相当于将修改从p4 server的架子上覆盖到本地的workspace,且加到pending changelist。

    操作:

    1)BBB用户要shelve文件//depot/projectB/file2.txt, 在文件//depot/projectB/file2.txt上右键然后点击shelve。如下图:

    2) BBB用户shelve文件//depot/projectB/file2.txt后如下图:

    3) 使用另一个用户AAA登录后如下,AAA不一定使用与BBB相同的workspace(client)。如下图:

    4) 在AAA用户下切换到BBB用户下查看BBB用户的shelve,此时可以使用diff against 或者直接打开文件来review BBB用户的修改,相当于是code review。

    或者使用unshelve来将BBB用户的修改应用到AAA用户的workspace,且加到AAA的pending changelist中。

    5)在AAA用户登录后切换到BBB用户时,使用unshelve过程操作如下:

    6)可以看到AAA用户对BBB的shelve进行unshelve后,BBB的修改被加到AAA的default changelist中,如下:

    4 p4 lock/unlock

    对本地pending changelist中的文件进行lock,从而达到当自己checkout修改某些文件时不允许其他的人修改相同的文件,直到自己unlock或submit后别人才可以修改。

    我们知道p4是基于merge机制的源码管理,p4 lock命令相当于以前的基于lock机制的源码管理工具。

    操作:在某个pending changelist或某些被checkout的文件上右键中选择lock或unlock。

    5 p4 rename/move

    直接修改perforce server上某个文件的名字或将文件移动目录。相当于自己使用delete+add+submit的操作。

    6 查看指定的changelist,操作为ctrl+G


    完!

  • 相关阅读:
    MFC中CDialog与其对话框资源的绑定 dll中资源的切换
    DirectDraw 显示 YUV
    ClipCursor与GetClipCursor 用法
    MFC消息处理流程概述 .
    HTML5 WebSocket 技术介绍
    NodepartySZ1 深圳聚会活动回顾总结[2012.01.08] CNode
    index QuickWeb文档
    Node.js Manual
    An innovative way to replace AJAX and JSONP using node.js and socket.io
    RequireJS
  • 原文地址:https://www.cnblogs.com/itech/p/2131928.html
Copyright © 2011-2022 走看看