[SCM]源码管理 - perforce快速入门

 

Perforce是目前比较流行的集中式的源代码管理工具,在很多的欧美跨国公司被广泛的使用。他能够运行于Windows,Linux,Mac几乎所有的平台,支持客户端,命令行,IDE集成,操作系统shell,API等多种访问方式。而且他还能够很好地支持大型规模的软件公司的员工同时访问,能够很好地支持跨国的分布式团队的开发。对perforce server的管理也很方便。例如google就在使用perforce来管理源码。

 

一 Perforce 客户端入门

* 客户端我们可以使用p4命令行,也可以使用基于UI的p4v,同时客户端还带有p4merge用来帮助用户执行diff和merge。

* 客户端我们还可以使用IDE的plugin来在IDE中方便地执行所有的perforce操作,也可以在我们的自动化脚本中调用基于各种语言的API来执行Perforce操作。

* 基本的登录信息,p4v中为server,user,workspace,server表示p4server的地址,user表示user id,workspace表示server与本地的目录的映射关系,在p4命令中,对应的环境变量为p4server,p4user,p4client。

* client表示server与本地的目录的映射,在p4v中为new workspaces... , 对应的p4的命令为p4 client。

* 增加文件在p4v中为mark for add,对应的p4命令为p4 add。

* 删除文件在p4v中为mark for delete,对应的p4命令为p4 delete。

* 修改文件在p4v中为check out,对应的p4命令为p4 edit。

* 提交修改在p4v中为submit,对应的p4命令为p4 submit。

* 同步最新的代码到本地在p4v中为get latest reversion / get reversion ... ,对应的p4命令为p4 sync。

* 每次提交都会对应一个change list,用来唯一标识一次提交。

* 在提交前撤销修改,p4v中为revert unchanged files / revert files ...,对应的p4的命令为p4 revert。

* 在提交后撤销, p4v中为Rollback... ,对应的p4命令其实就是p4 sync + p4 submit。

* 要查看文件或文件夹的版本,在p4v中为file history / folder history, 对应的p4的命令为p4 filelog。

* 要修改文件或移动文件目录,在p4v中为rename / move ..., 对应的p4的命令为p4 move。

* 创建branch需要在p4v中new branch mapping + integrate using branch maping ...,对应的p4命令为p4 branch + p4 integrate。

* merge,在p4v中为resolve files,对应的p4的命令为p4 resolve。

* p4的命令p4 copy,其实是等于p4 integrate + p4 resolve -at。

* 创建label需要在p4v中new label... + label...,对应的p4命令为p4 label + p4 tag。

* 比较client的最新与本地的不同,p4v中为diff against havereversion。 对应的p4的命令为p4 diff。

* 比较任意的两个文件的不同个,p4v中为diff against... ,对应的p4的命令为p4 diff2。

* 查看目录下的文件,p4v中为files in folder,对应的p4的命令为p4 files。

* p4命令p4 info 或 p4 set查看当前的p4 server的和当前client的信息。

* 查看文件的内容对应的p4命令为p4 print。

* p4命令p4 where用来查看一个文件在server,client和本地的路径。

 

二 Perforce server入门

* Server的运行程序为p4d(如果作为service运行,需要改为p4s)。

* 为了支持分布式团队的开发,需要使用proxy,proxy的运行程序为p4p(如果作为service运行,需要改为p4ps)。

* 可以使用p4server自带的svcinst来在windows上同时部署多个server或proxy。

* p4server在linux上可以部署为daemon(service),或者也可以部署为xinetd的服务来运行。

* 对server的管理可以使用p4admin的UI的工具来完成, 或者使用p4 命令 p4 user + p4 group + p4 protect来进行权限的管理,使用p4 monitor来监视server。

* 使用p4d命令p4d -jc / jr来备份和恢复server。

* 也可以使用p4的命令p4 admin来进行部分的管理,例如停止server,备份server。

* 可以使用p4的命令p4 replicate 或 p4 pull来创建 replicated server,作为热备份server用来实现灾难恢复,或者作为offline server用来减少备份时mainserver的停机时间。

* replicated server + p4broker来实现 p4server的高可用性,或作为readonly server来减少mainserver的负载。

 

完!

转载于:https://www.cnblogs.com/itech/archive/2011/08/26/2152807.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘:机器究竟是怎么学习的?

来源:雪球摘要:从算法的角度看,机器学习有很多种算法,例如回归算法、基于实例的算法、正则化算法、决策树算法、贝叶斯算法、聚合算法、关联规则学习算法和人工神经网络算法。从算法的角度看,机器学习有很多种算法&…

安卓逆向_21 --- Java层和so层的反调试( IDA 动态调试 JNI_OnLoad、init_array下断)

1. 安卓程序动态调试条件 安卓程序动态调试条件 ( 2个满足1个即可 ): 1. 在 AndroidMainfest.xml ---> application 标签下,设置或者添加属性 android:debuggable"true" 2. 系统默认模式,在 build.prop(boot.img),…

JavaScript MSN 弹出消息框

** 类名:CLASS_MSN_MESSAGE ** 功能:提供类似MSN消息框 ** 示例: ** 作者:ttyp ** 邮件:ttyp21cn.com ** 日期:2005-3-18 ** **/ JS 代码: // JScri…

一文读懂:深扒人脸识别60年技术发展史

来源:与非网摘要: “他来听我的演唱会,门票换了手铐一对”。最近歌神张学友变阿SIR,演唱会上频频抓到罪犯,将人脸识别技术又一次推到了大众的视线中。“他来听我的演唱会,门票换了手铐一对”。最近歌神张学…

安卓逆向_22( 一 ) --- Xposed【 Android Studio + Xposed 实现简单的 hook 】

From:使用渗透测试框架 Xposed 框架 hook 调试 Android APP:https://www.freebuf.com/articles/terminal/56453.html Xposed框架分析:https://blog.csdn.net/zjx839524906/article/details/81046844 xposted框架 原理 Xposed框架之函数Hoo…

【数据采集】将16进制字符串转化为Double类型输出(依照IEEE754标准)

因为需要读取二进制文件中包含的数据&#xff0c;故需要这样一个转化过程。 鄙人功力太浅&#xff0c;主要参照http://www.cnblogs.com/xinjun/archive/2010/07/28/1787297.html&#xff0c;略有改动&#xff0c;以保证编译运行通过。 1 #include <iostream> 2 #include…

TED演讲 | 2100年,神经学家如何研究人类大脑?

“本文来源于药明康德微信公众号&#xff08;ID&#xff1a;WuXiAppTecChina&#xff09;”除非我们弄清楚如何在健康人体中获得神经元的电活动&#xff0c;否则不会在理解人类大脑或疾病方面取得任何进展。 Were not going to make any progress towards understanding the hu…

安卓逆向_24( 一 ) --- Hook 框架 frida( Hook Java层 和 so层) )

From&#xff1a;Hook 神器家族的 Frida 工具使用详解&#xff1a;https://blog.csdn.net/FlyPigYe/article/details/90258758 详解 Hook 框架 frida ( 信抢红包 )&#xff1a;https://www.freebuf.com/company-information/180480.html APP逆向神器之Frida【Android初级篇】…

VC 创建NT服务程序

VC 创建NT服务程序 #include "Windows.h" #include "Winsvc.h" #include "time.h" #include "stdio.h" SERVICE_STATUS m_ServiceStatus; SERVICE_STATUS_HANDLE m_ServiceStatusHandle; BOOL bRunningtrue; void WINAPI Servi…

安卓逆向_22( 二 ) --- Xposed 学习记录

转载&#xff1a;看雪论坛 堂前燕&#xff1a;https://bbs.pediy.com/thread-252153.htm Xposed 模块编写的那些事&#xff1a;https://www.freebuf.com/articles/terminal/114910.html 看了很多 xposed的教程&#xff0c;自以为掌握了个大概&#xff0c;直到今天整理&#xf…

最前线丨新零售结果、AT暗战,今年的618都讲了哪些故事

来源&#xff1a;36Kr今年的618成了巨头们验收新零售成果的好时机。618源于2010年&#xff0c;最初为京东店庆。2013年天猫加入618大促&#xff0c;苏宁、国美紧随其后。此后&#xff0c;618成为电商价格战的战场&#xff0c;也成为全网狂欢的节日。618今年已经走到底第9个年头…

什么是RUP

一、RUP产生的背景 UML能够用来为系统进行面向对象建模&#xff0c;但是并没有指定应用UML的过程&#xff0c;它仅仅是一种语言&#xff0c;它是独立于任何过程的。如果想要成功的应用UML一个好的过程是必要的。合理的过程能够有效的测度工作进度&#xff0c;控制和改善工作效率…

安卓逆向_24 ( 二 ) --- frida 学习记录

转载&#xff1a;看雪论坛 堂前燕 &#xff1a;https://bbs.pediy.com/thread-252319.htm apk 和 Python脚本 链接&#xff1a;https://pan.baidu.com/s/1KX1fY16NgaYB1FnCrpu0lQ 提取码&#xff1a;t38k 上次记录了下xposed hook java层的学习&#xff0c;这次记录下frid…

动态 | DeepMind 首次披露旗下专利申请情况

来源&#xff1a;AI科技评论摘要&#xff1a;作为一家顶尖的人工智能研究公司&#xff0c;DeepMind 近年来申请了一堆国际专利&#xff0c;但是具体到专利内容和申请数量就不得而知了。近日&#xff0c;DeepMind首次披露了一系列国际专利&#xff0c;这些专利涉及了现代机器学习…

JavaScript获取URL参数

文件1&#xff1a;realwall.js (function(window){var urltool {getUrlParameterByKey : function(url,key){var result "",start,parameterStr,len,paras,i;parameterStr url.split("?");if(parameterStr.length > 1){parameterStr parameterStr[…

Frida Android hook

From&#xff1a;https://eternalsakura13.com/2020/07/04/frida/ 开发环境配置 ( IDE 智能提示 frida )&#xff1a; 下载 nodejs&#xff1a; https://nodejs.org/zh-cn/download/npm install types/frida-gum 见过的较好的frida笔记&#xff1a; https://kevinspider.gith…

寒武纪宣布完成B轮融资 整体估值达25亿美元

来源&#xff1a;网易智能摘要&#xff1a;6月20日&#xff0c;芯片领域公司寒武纪宣布完成数亿美元的B轮融资&#xff0c;由中国国有资本风险投资基金、国新启迪、国投创业、国新资本联合领投。中金资本、中信证券投资&金石投资、TCL资本、中科院科技成果转化基金跟投。原…

安卓模拟器 Genymotion 安装

Form&#xff1a;https://www.runoob.com/w3cnote/android-tutorial-genymotion-install.html Linux (Ubuntu) 下的 Android 模拟器&#xff1a;Genymotion&#xff1a;https://blog.csdn.net/qq_25978793/article/details/49923579 Android 模拟器 Genymotion 安装使用教程详解…

辩论届人机大战:IBM新AI完胜人类冠军!

来源&#xff1a;智东西导语&#xff1a;6月18日&#xff0c;IBM的AI系统Project Debater首次与人类进行现场公开辩论。Project Debater能够理解对方观点&#xff0c;并有针对性地做出清晰的反驳&#xff0c;最终成功战胜人类辩手。6月19日消息&#xff0c;美国时间6月18日&…

没有人能阻止程序员将电脑上的一切搬到网页上

操作系统模拟&#xff08;OS Simulator&#xff09; Web QQ Q版的界面&#xff0c;看起来大体上是模拟Mac OS而不是Windows&#xff0c;不过那些桌面Widget又是Windows的展品。也算是取各家所长。使用他的唯一理由可能就是在没有QQ的电脑上用QQ吧 Windows 3.1 Windows 95(感谢大…