用subversion(SVN)进行版本管理 (三)

cmake设定项目版本信息 一、version.h.in模板文件 #pragma once #define VER_MAJOR 1 #define VER_MINOR 0 #define VER_BUILD 1 #define VER_REVISION @PROJECT_REVISION@ #define Stringizing(v) #v // generate rights #define COPYRIGHT_STR() \ 阅读详情
然后直接点击merge进行合并,你也可以通过dry run来看是不是两者之间有差异。由于没有其它人修改主干,所以合并的很顺利,下图是xb_051115与主干合并后的结果。合并完毕之后,由xb对主干进行提交。



3.lzj将lzj_051129分支合并到主干,解决冲突
xb合并完毕之后,lzj要将他的分支合并到主干上去,方法同上。但是由于xb已经修改过主干,所以产生了冲突,会弹出一个冲突对话框。双击对话框中的产生冲突的文件名,就可以调出工具对此文件进行合并,下图是我们用merge工具显示的界面。


  • 首先比较第一个窗口与第二个窗口,把结果修改合并到第二个窗口。
  • 然后确保光标处于第二个窗口时,点击上图中红色圈圈所示的按钮。这样会把第二个窗口的内容全部复制到第三个容口。之后保存,退出。
  • 然后在工程目录上点右键,进行SVN->Resolved。这样会删除无用的临时文件。
  • 最后提交所作的修改,并添加详细的注释。

其它注意事项
SVN中的标签
与CVS不同,使用SVN时不用专门为目录添加标签,因为SVN也对目录进行版本管理。

我们在提交时写好注释(比如重要的版本提交时使用051201之类的日期作为开头),就可以通过注释来查找比较重要的目录版本号,相当于CVS或VSS中的标签。

另外,每个工程都会有一个版本说明文件,通过此文件可以查找关键版本。

文件的删除、移动与重命名
你可以重命名、移动或删除你的文件或文件夹,但请使用SVN进行这些操作,否则之前的版本信息会丢失。

使用SVN删除、移动与重命名文件夹的方法是在文件/文件夹上点右键进行SVN操作,或直接在资源浏览器中使用右键拖放(会弹出SVN选项)。

文件的删除、移动与重命名之前,必须保证工作目录是最新的版本;进行这些操作之后,需要进行提交。

版本的回退
在代码的编写过程中,难免会有不尽人意的地方,你也许需要回退到某一个版本,但是在这个过程中可能有一些文件你想保留,也有一些文件你不想保留,这就牵扯到很复杂的版本管理过程,在这里给大家推荐几种方法。

1. 若是你编辑了工程,在没有提交的前提下,你想放弃这些修改,你可以直接选择revert就可以更新到工程的最新的版本。

2. 若是你想退回到某一个版本,你就可以直接选择update to reversion如图,这样我们就可以把我们的版本回退到你选中的版本去,这种情况下SVN并没有显示出有什么冲突,并且新建立的文件也还在,但是在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要 update并解决冲突。

3. 你可以直接选择revert changes from this revision如图,这样的话你可以直接解决冲突并提交。不过这种方法的不足是,你新建的文件都没有了,整个工程都回退到之前的版本了。

4. 我推荐的一种方法是,直接export一个你需要的版本,然后用你export的版本覆盖你的最新的版本,这样你就可以不丢失你新建的文件,同时获得head的SVN控制文件。




提交的时机
每个工程会有很多个小模块,当某个模块达到稳定的时候,你就需要提交一次,以免写下个模块代码的时候出现不可恢复的错误。

每一次提交需要前,需要通过pclint检查,保证是一个编译没有错误的版本。当提交比较稳定的版本的时候,同时要修改你的版本号。

提交的时候要添加注释,若多人共同修改同一段代码我们就需要为注释添加上更加详细的说明

版本说明文件
版本说明文件为xml表格,可用excel编辑,它会记录下关键的版本信息。

版本说明文件内容如下表。发布版本是指用户对外公布的版本号,后文中有详细描述;Revision是SVN内部的工程文件夹的版本号。一个发布版本可能对应多个Revision:
 
Qt Creator 中使用svn进行版本管理 最近做的一个项目是用Qt Creator做的。开发环境在windows7 下。公司有台linux的服务器,上面装了SVN。昨天项目经理要求我把自己的代码上传到那台linux服务器上。没办法,去网上找了好多资料。都没有看到有这方面的文章。那就自己动手研究吧!         刚开始的时候。一点头绪都没有,不知道如何才能将自己电脑里的代码上传到服务器上去。后面想了一个偷懒的办法。先将代码用FileZ 阅读详情

相关推荐

4.svn版本管理工具使用

1

qq_44438941的博客 1770

SVN版本高阶操作(SVNREvision和Date设置到输出文件中)

REvision和Date在资源文件中设置到输出文件属性信息中

qq_43148810的博客 1903

安装Subversion和配置 svn服务端

Subversion是一个免费/开源的版本控制系统(VCS),也被称为SVN。它能够对文件和目录以及它们的修改进行跨时间的管理,允许用户恢复数据的旧版本或检查数据的修改历史。Subversion建立在二进制文件区别算法基础上,对文本和二进制文件都有一致的操作方式,并将它们压缩存放在版本库中。

夜飞鼠的专栏 1875

svn中的版本号revision

1.        svn中的版本号revision是全局版本号,svn commit 操作可以作为一个原子事务操作发布任意数量文件和目录的修改。在你的工作副本中,你可以改变文件内容,创建、删除、改名和复制文件和目录,然后作为一个整体提交。在版本库中,每次提交被当作一次原子事务操作: 要么所有的改变发生,要么都不发生,Subversion 努力保持原子性以应对程序错误、系统错误、网络问题和其他用

@_囚徒-2018_的家园 1万+

VS开发中自动版本号的设置-SubWCRev命令

SubWCRev这个命令是TortoiseSVN\bin下的命令; 所以前提是你的开发机需要确认安装了SVN的客户端,并且你本机的代码是SVN上down下来的,也就是代码需要是一个working copy;   下面说一下如何使用: 1. 假如你的工程内有一个version.h的头文件,如下:     #ifndef VERSION_H_ #define VERSI...

yousss的博客 9661

工具——代码中自动生成SVN版本号

本节和大家讨论一下程序集版本最后一位使用SVN版本号的自动生成方法,这里就向大家简单介绍一下。在进行自动部署的时候,经常需要用脚本获取程序的最新版本号。现在我们定义每个程序集的版本信息的最末段表示SVN的源码版本。详细定义如下: 程序集版本号分为4段,例如1.0.4.23。 第一段为主版本号,项目一但启动则不会更改。 第二段为次版本号,在项目功能做较大调整时增加,增量为1。 ...

weixin_34123613的博客 339

SVN学习笔记

SVN版本管理工具

二木成林 3007

SVN 教程Apache Subversion

摘要:SVN(Apache Subversion)是一个开源的版本控制系统,旨在取代CVS。它支持目录版本控制、原子提交、二进制文件处理等功能,被众多开源项目采用。本文介绍了SVN的基本概念(如repository、checkout、commit)、主要功能优势(分支管理小开销、自动提交等),以及Windows、CentOS和Ubuntu系统下的安装方法。适合有版本控制需求的开发人员学习使用,需具备基础的软件开发知识。

xiaoaque的博客 1057

SVN(Subversion)

SVN介绍 简介 SVN全称Subversion,是一个开放源代码的版本控制系统,Subversion在2000年由CollabNet Inc开发,现在发展成为Apache软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。 SVN是一个开放源代码的版本控制系统,管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案...

烟火的博客 1415

版本管理系统Subversion(SVN)

 版本管理系统Subversion CvsSvn、Git都是版本管理系统 基本概念: 版本库(Repository):Subersion是一种集中式的分享信息的系统,它的核心是版本库。 版本模型:版本控制兄台那个的核心任务是提供协作编辑和数据共享,但是不同的兄台那个使用不同的策略来达到目的。 文件共享问题 1.锁定-修改-解锁  (存在问题) 2.拷贝-修改-合并  

每天都得进步一点点 2320

SVN 版本管理工具

右键 - show log(日志), 选中一条,然后右键 Revert to this Revision(复原到此版本)就可以回退代码,想覆盖远程仓库的代码再提交即可。不需要拉取资源库中的资源,等同于直接提交的方式,是将当前操作文件夹之下的文件导入到资源库项目的根目录,如果有同名文件夹或文件会导致失败,增加文件后,在项目文件夹内(不需要一定在项目根目录),右键提交,选择要提交的文件,确定后,服务端刷新就能看到。:追溯(需要选中文件),可以用来查看某行代码修改的日志信息,查出修改人和其他信息。

m0_57707788的博客 3608

Centos 使用Subversion Edge搭建SVN与web管理端

Svn是一个代码版本管理器,比较直观简单,也可以作为文件服务器使用,用来存储共享文件,在小企业中常用。这就需要我们自己搭建svn服务端,作统一管理。 在windwos和linux上都可以搭建。在windwos上常用visualsvn进行搭建,可以提供windwos的管理配置界面。在linux上的话,这里推荐使用Subversion Edge。就是一个svn+apache实现的w...

夏冬丶王阳旭 7985

SVN的SubWCRev管理同步项目版本号

使用svn进行项目代码管理过程中,都有这么个问题,发布版本的时候,几下了svn的版本号,然后出现bug后,根据记录去查找对应的svn版本的代码进行定位和解决bug,但是大部分时候我们希望,在日志里面,或者在软件中编译进去svn号,这样就可以快速的定位到是哪个svn的版本出现问题,下面通过在vs2008中实现1.首先新建一个模板,比如叫version_template.h,内容如下:#ifndef _

fly2010love的专栏 2107

SVN常用命令用法说明

/** *  转载请注明作者longdick    http://longdick.iteye.com * */   SVN版本:1.5 及更新版本 名词说明: WC:Working Copy 你的工作区 Versioned:受控的;受版本控制的   SVN是什么?   SVN是开源的版本控制系统。 比CVS更多的特性。一个更好的...

幸福的懦夫 878

VisualSVN Server + Tortoise SVN 使用教程(补充版)

1Visual SVN Server的使用 修改者:Nancy 编者按:本文是SVN中文网看到的文章,之后做了一些补充与修改,希望可以给大家提供更详细的信息。 如果转载请注明出处。 1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【ht...

Gavin的专栏 513

项目管理工具-SVN(SubVersion)下载安装/基本详细具体使用步骤

svn入门教程从安装到使用步骤

m0_73414822的博客 1万+

win11&centos7安装Subversion与配置 svn服务端

启动SVN服务器有两种方法,一个是命令行方式,一个是注册Windows服务。[3]命令行方式的缺陷是:只要运行服务器端程序的命令行窗口一关闭,服务就停止了,很不方便,而且每次开机都需要手动启动。此时查看当前系统中的服务,可以看到我们刚刚创建的服务,但此时它还没有启动,如果创建失败,需检查sc命令是否正确。[1]将SVN服务端程序注册为Windows服务,就可以让SVN服务随系统一起启动,克服了命令行方式的不足。如果启动失败,那很有可能是binpath中的内容有错误,此时只能将已经创建的服务删除,重新创建。

nalanxiaoxiao2011的博客 5700

SubversionSVN):版本控制工具与编程实践

SVN的基本原理是将项目的文件存储在一个中央代码仓库中,开发人员可以从中检出(checkout)文件副本进行编辑和修改。SVN跟踪每个提交的历史记录,并允许开发人员在需要时回溯到先前的版本。总结起来,SubversionSVN)是一个强大的版本控制工具,可以帮助开发人员管理和跟踪项目的变化。Subversion(简称SVN)是一种流行的版本控制工具,被广泛用于管理代码和其他文件的版本控制。安装完成后,我们可以创建一个SVN仓库来管理我们的项目。SVN将记录提交的历史记录,并将更改应用到仓库中。

YabClass的博客 191
上一篇: 用subversion(SVN)进行版本管理 (二)
下一篇: XML技术系列讲座(一)
wqs6
博客等级 码龄24年 15粉丝 12原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值