[P4]源码管理 - perforce(p4)的分支与集成
源码管理 - perforce(p4)的分支与集成
摘要:p4的分支创建和集成过程主要包含4个步骤:
(1) 使用‘p4 branch’创建branch spec;
(2)使用’p4 integrate‘来实现分支间的集成;
(3)使用‘p4 resolve’来完成冲突的合并;
(4)使用‘p4 submit’提交集成的结果。
如下为在p4v中的操作。
一、创建branch spec
如下过程创建projectA的main与2012RTM的branch spec。操作为:File --> New --> New Branch Mapping。
二、创建新的分支
如下过程创建2012RTM分支!
- 在branch spec上右键 ->integrate using this branch mapping
- 提交集成
- 提交后如下
三、分支间的集成
如下过程为从2012RTM 到 main的集成。
- 在branch spec上右键 ->integrate using this branch mapping,注意选择正确的集成方向。
- 在有冲突的文件右键->resolve (通常选择accept merged 或者run merge tool手动merge)
- 提交合并
四、p4 integrate 和 p4 resolve的注意事项
- p4分支的集成也支持没有branch spec的形式,如 ‘p4 integrate fromfile tofile’,如果没有使用branch spec或fromfile与tofile没有共同的base的时候需要使用-i参数来强制集成。
- 对‘p4 integrate’使用-v参数来避免将integrate的结果自动sync到本地,但是大部分情况我们需要合并,所以需要sync到本地。
- 对‘p4 integrate’使用-r表示与branch spec相反的方向的集成。
- 默认地在‘p4 integrate’命令后本地workspace的文件任然为只读的,如果需要修改则必须先使用‘p4 edit’命令。
- 对‘p4 integrate’命令使用-Dt -Ds,-Dt表示目标文件被删除了,但是源文件还在,则集成结果为源文件; -Ds表示如果源文件删除了,集成结果为任何对之前对目标文件的修改也被删除。
- 在脚本中自动集成时,可以对‘p4 resolve’使用 -am或-as参数,差别为:
- -am表示accept merged,具体为如果theirs与base一致,接受yours,如果yours与base一致,接受theirs如果yours和theirs都与base不同,但是yours和theirs没有冲突,接受自动merged的结果,否则如果yours和theirs也有冲突,则忽略此文件。
- -as比-am更严谨,不管yours与theirs是否有冲突,只要yours和theirs都与base有不同就忽略此文件。
- 在使用‘p4 resolve -am’或‘p4 resolve -as’后,可以使用‘p4 resolve -n’来参看没有自动merged忽略的文件,如果有文件没有自动merge成功,则需要手动merge,否则可以直接提交。
- 实例 :
p4 integrate -b %branchname% -Dt -Dsp4 resolve -amp4 resolve -n p4 submit #(如果p4 resolve -n 命令检测到没有文件merge失败,则submit可以自动执行,否则需要手动merge,然后再submit)
完!
[P4]源码管理 - perforce(p4)的分支与集成相关推荐
- [SCM]源码管理 - perforce快速入门
Perforce是目前比较流行的集中式的源代码管理工具,在很多的欧美跨国公司被广泛的使用.他能够运行于Windows,Linux,Mac几乎所有的平台,支持客户端,命令行,IDE集成,操作系统shel ...
- [SCM]源码管理 - perforce的集中授权+分布式团队+负载均衡+可扩展性+高可用性+灾难恢复...
本文主要讨论perforce的 * perforce集中授权 * perforce对分布式团队的支持 * perforce的负载均衡和可扩展性 * perforce高可用性和灾难恢复 一 perfo ...
- 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门
1.1 环境 Visual Studio + GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Me ...
- 从漫画看源码管理方式
一直以来我都比较在意源码的管理,怎么说也是自己辛苦写的东西,改得又很频繁,没有个好方法好工具管理起来还真是不放心. 最近几年主要是用分布式版本控制工具Mercurial(HG),个人觉得还是挺好用的. ...
- java代码管理工具_java源码管理与版本控制工具,图文详解
近些年社会科学技术水平的发展越来越快速了,这也促进了人们对于新技术新知识的学习.尤其是java的应用也越来越广泛.今天就来为大家介绍一下,java源码管理与版本控制工具,一起来了解一下吧. java项 ...
- Visual studio 2005如何实现源码管理
转自CSDN Visual studio 2005如何实现源码管理(Visual Studio .Net团队开发) 目录: 〇. 摘要 一. 开发前的准备 二. 创建空的SourceSafe数据库 三 ...
- 配置源码管理工具(2)
源码管理是开发中最重要的事情之一,在vs.net里我们通常采用vss进行版本控制,在Eclipse里看帖子说用svn的比例很大,和IDE的集成性也很好. 1:服务器部署 下载地址是:http://su ...
- [SCM]源码管理 - SVN Server
一 SVN命令行简介 1)命令行方式的SVN Server和Client下载: http://www.collab.net/downloads/subversion/ 2)设置path路径:set p ...
- 0918 iOS10兼容/iOS系统过高或过低配置包/混合引擎的在线视频连麦互动直播/源码管理工具/Xcode8插件升级/导航栏渐变
1 兼容iOS 10 资料整理笔记 http://www.jianshu.com/p/42e506998082 iOS developerDiskImage 这是由于真机系统过高或者过低,Xcode中 ...
最新文章
- ping 攻击 Linux,Linux 环境实现ping攻击
- C语言再学习 -- 关闭/启动
- PAT乙类之1011 A+B 和 C
- DevOps 在移动应用程序开发中扮演什么角色?
- 02-neo4j的基本命令
- 一人网站所有的 ip地址_咸宁网站建设-网站的主要特征
- linux如何检查进程,如何在Linux中检查进程的执行时间
- 生日快乐编程代码_「世界上最好的编程语言」,刚刚度过了25周岁生日
- 笔杆子被领导倚重的核心竞争力是什么?
- 【工具】多人在线协同编辑文档软件
- ⅰcp经济模型_新经济地理学基本模型及其扩展综述_刘亚军
- Python五角星画法
- 2019年软件QA与测试八大关键词
- 36氪2022年Q3总收入同比增长两位数超预期,连续第四个季度盈利,广告收入同比增长20%
- IC验证之测试点分解
- 先學30天jQuery再說之属性操作 - .contains() 方法和 :contains 选择器(par7)
- 深度学习入门笔记(十):正则化
- 计算机图像学基础课程设计,计算机图形学课程设计
- 翻转课堂,让传统的以教为中心变成以学中心
- 谷歌地球中国服务正式关闭,国产天地图完全替代谷歌地球?
热门文章
- red5 FAQ - 刚接触red5的可以看看
- Modra Pharmaceuticals于2021 ASCO GU年会公布其转移性前列腺癌IIb期临床试验初步数据
- 想编程,是勤奋自学还是去培训班学习?
- 李宏毅2020机器学习深度学习 笔记1(理论上持续更新中)
- ZipEntry实现文件解压缩与目录解压缩
- 动物miRNA靶基因本地预测(三)—— 靶基因预测与结果分析
- 遍历map java_Java中怎么遍历map中value值
- msysGit与TortoiseGit使用入门
- IDEA SpringBoot 同一个模块启动多个服务(实例)
- selenium+python:元素定位的八种方式