在以前的公司代码控制用的是CVS,到这家公司用的是Perforce,中国恐怕没有几家公司用这个玩意,老美的爱好,又或者是Expedia那帮MS出身的爱好。
今天对于Perforce的命令行稍做了些研究,主要用到了以下这些常用的命令:
p4 user
p4 client
p4 add, p4 edit, p4 open
p4 submit
p4 revert
p4 integrate
p4 resolve 等等.
重点是理解Perforce里面的Integration/Branch机制。在以前,并没有接触过通过SCM来进行代码的版本控制,这是第一次真正地使用到。
p4 integrate a.txt b.txt
执行这条命令的具体效果分几种情况:
1. 如果b.txt不存在, 或者之前并不作为a.txt的分支存在, 那么integrate命令将做branch动作, 即将b.txt生成为a.txt的branch. 注意, 这里如果b.txt之前存在并且不作为a.txt的branch存在, 必须增加 -i 参数强制将其作为a.txt的branch.
2. 如果b.txt已经存在, 并且之前已经是a.txt的branch, 那么integrate命令将做merge动作, 将a.txt的修改更新到b.txt上, 并更新b.txt的版本号.
以上两种情况, 只要b.txt以前已经存在, 都有可能涉及到resolve来解决代码冲突.
关于resolve, p4提供了一系列的选项, 无非就是accept who了, 这里就不细说了.
integrate 还有一种用法, 如下:
p4 integrate -b aBranch
其中aBranch是事先用这个命令定义的:
p4 branch aBranch
在aBranch的view当中将定义代码间的integrate关系, 这样做的好处是可以在一个branch中定义多个integrate关系, 然后利用p4 integrate -b aBranch一次性integrate多个文件, 省去了一个一个文件更新的步骤.
如在aBranch中定义view时这样定义:
//depot/a.txt... //depot/b.txt
//depot/c.txt... //depot/d.txt
这样integrate这个branch时, 就可以一次性integrate两个文件了.
integrate的几个常用参数:
-i target之前与source无版本关联, 强制target成为source的branch;
-f 不比较target branch的版本是否与source版本对应, 强制执行integrate;
-d 当source文件删除时, integrate将删除target对应文件; 当target文件删除, integrate将re-branch source的对应文件到target.
对于其他SCM工具的版本控制, 日后还要多多研究, 估计大同小异.
分享到:
相关推荐
然后,打开命令行界面,输入p4 set命令查看当前Perforce的配置情况。 添加用户可以使用p4 user –f命令,例如添加用户刘娟,系统会弹出一个属性对话框,需要更改成用户的真实情况。然后,需要为用户设置密码,方法...
本课程分为三天,涵盖了从基础到高级的各种主题,以确保学员能够熟练掌握 Perforce 的核心功能。 在三天的课程中,首先会介绍 Perforce 的基本概念,如客户端/服务器模型。Perforce 采用这种模型,其中客户端程序与...
P4-Perforce 提供了多种命令来管理文件,包括添加、编辑、删除、比较等操作。 * p4 add:添加文件到版本库。 * p4 attribute:设置文件的属性。 * p4 copy:复制文件。 * p4 delete:删除文件。 * p4 diff:比较...
### Perforce软件配置管理使用说明 ...此外,熟悉Perforce的基本命令也是非常重要的,例如`p4 login`用于登录服务器,`p4 sync`用于同步文件等。希望本指南能帮助您更好地理解和使用Perforce系统。
- **启动与停止服务器**:启动服务器可通过命令`$P4ROOT/bin/p4d -r $P4ROOT`实现,而停止服务器则可通过`pkill p4d`命令完成。 **4.2 Windows平台安装** - **Windows服务与服务器配置**:在Windows平台上,...
Perforce是一款强大的版本控制系统,广泛应用于软件开发、游戏开发及各种大规模项目的管理之中。本文档旨在提供一个Perforce的使用命令快速指南,涵盖其基本操作与核心功能。 #### 二、文件状态与流类型 在Perforce...
欢迎来到Perforce 该捆绑软件旨在帮助Subversion用户过渡到Perforce。 它的命令映射到Command-4。 (它是从一个较旧的插件派生的,该插件使用了稍稍笨拙的Command-Shift-F。未移植的命令仍然存在于该映射中。) 与...
《Helix Core P4 命令参考》是Perforce Software公司发布的一个技术文档,其中详细介绍了P4(Perforce)命令行工具的使用方法、功能以及各种命令的参考信息。P4是一个专业的版本控制系统,广泛应用于软件开发领域,...
### Perforce版本控制基础 #### P4V客户端操作 - **刷新操作**:在Perforce的可视化客户端P4V中,使用`F5`键可以刷新以获取最新的版本。 - **快捷键映射**:`Shift+Ctrl+G`快捷键没有映射到工作区已被删除签出的...
Perforce plugin for CodeGear Delphi的使用方法通常包括安装插件、配置Perforce服务器连接信息、在IDE内操作Perforce命令等步骤。开发者需要了解如何在Delphi中激活插件,以及如何设置和管理Perforce工作区。同时,...
随后,Git迅速成为软件开发中最受欢迎的版本控制系统之一,被广泛应用于各种软件项目的版本管理。版本控制系统的目的是帮助开发者记录和管理源代码随时间的变化,支持多人协作开发,以及在项目开发过程中能够方便地...
配置完成后,只需加载`p4.el`,就可以通过Emacs的命令调用来使用Perforce的功能。通过Emacs的键绑定和自定义快捷键,可以极大地提高开发效率,减少在不同工具间切换的时间成本。 总的来说,`p4.el`是连接Perforce和...
提供常用的git命令---- Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。 Git 易于学习, 占地面积小,具有闪电般的快速性能。它具有诸如Subversion,CVS,Perforce和...
这些功能可以自动化执行重复性的任务,并生成各种报告,提高开发效率和管理透明度。 在具体操作方面,文件提到了一个入门级别的操作指南。例如,要使用Perforce命令行客户端,首先需要在UNIX或OSX系统上使二进制...
**Git**作为一种免费且开源的分布式版本控制系统,被广泛应用于软件开发领域,能够高效地处理从小型到大型的各种项目。版本控制系统的核心价值在于记录文件内容的变化历史,使得开发者能够追踪到任何一次修改的具体...
介绍 vp4 执行以下操作: 在不离开 Vim 的情况下与 perforce 交互 自动打开文件进行编辑 通过为每个代码块添加日期、用户和更改列表描述来实现可笑的...通过在 vim 中运行以下命令来生成帮助标签: :helptags ~/.
由Perforce公司开发,P4Merge以其清晰的界面、强大的冲突解决能力和高效的工作流程而受到开发者们的喜爱。本文将详细介绍P4Merge的功能特性,以及如何在CentOS系统中进行安装和配置,同时提供与Git的集成指南。 ###...
5. **迁移数据**:如果p4_transfer包含提交历史,可能需要使用Perforce命令行客户端(p4.exe)的`p4 sync`和`p4 client`命令创建新的工作区,并通过`p4 submit -c`导入变更集。这可能还需要处理依赖关系和解决冲突。...
# 执行Perforce命令,如列出工作区文件 print(p4.run('changes', '-u', p4.user)) # 断开连接 p4.disconnect() ``` 总的来说,`p4python`是Python开发者在处理Perforce版本控制时的重要工具,它提供了简洁易用的...