欢迎来到天天文库
浏览记录
ID:61767279
大小:378.00 KB
页数:11页
时间:2021-03-19
《SVN版本控制说明.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SVN版本控制一、版本库目录结构SVN版本库创建三个目录,如:trunk、branches和tags。trunk为主干版本,主干版本要随时可以将应用部署上线发布出去,而不能在主干版本上做任何代码的修改。branches是分支目录,存放并行开发的项目代码,可建立多个分支版本,在不同的分支上作不同的模块的编码。tags目录存放trunk某特定版本的快照,当trunk有新版本的合并时,都应该在tags目录下建立一个trunk当前版本的备份(特别是在大改前和大改后的版本必须做好备份并加以备注说明)。具体目录结构如下图:SVN版本库目录结构二、导入本地项目到版本库中如果版本库中已保存了相关
2、项目文件,则直接把相关项目检出到本地即可。若版本库中没有相关项目,则按以下操作:在版本库中trunk文件夹右击点“检出(Checkout)”,检出操作在弹出窗口选定本地路径点“确定”把trunk文件夹检出到指定本地目录,检出弹出窗口把本地项目拷贝到当前目录的trunk文件夹中,然后右击trunk文件夹点“SVN提交(SVNCommit)”即可把本地项目导入到版本库中。一、建立分支或标记先把版本库trunk中的项目checkout到本地,再右击本地的trunk文件夹到TortoiseSVN->分支/标记(branch/tag),建立分支/标记在弹出窗口中选择版本库中相关目录,如br
3、anches中的mybranch1.0目录,把最新版本项目拷贝到mybranch1.0目录下,点“确定”即可完成分支的创建。建立分支我们可以根据自己的需要创建多个分支,建议可以先创建两个基本的分支,比如mybranch1.0和mybranch2.0。mybranch1.0用来做项目日常维护,如修改bug,小功能优化等工作。mybranch2.0用来做相关数据库结构变化对应的代码修改的工作,数据库结构一旦发生变化理论上是不能还原回来的(一旦还原,将会丢失最新的数据),因此针对数据库结构变化所作的代码修改也不可能进行还原,因此这些代码应该单独建立一个分支来进行编码,而不能放在与功能相
4、关的分支中进行编码。若当有其他大改,如大模块的增加或修改,这时就要针对各模块另外再创建相应多的分支进行并行开发。另外还有一种方式,应当尽量避免一个分支合并多次,分支的作用一般为了解决bug,一旦bug对应结束了,分支的使命就结束了,以后再出现其他的问题,应当重新建立分支,这样就不会出现多次合并的问题了。标记(tag)从本质上来说也是一个分支,创建tag跟创建分支是一样的操作过程。Tag中存放了trunk中每个版本的快照,且不对其进行修改。一、分支的修改与合并项目代码的修改,只允许对分支版本进行修改,而不允许在trunk或tags中进行修改。在一个分支中修改该分支的文件、commi
5、t或update文件均不会对其他分支版本造成任何影响,因此你只需要关心当前分支的版本变化就行。分支每commit一次,版本库就会创建一个新的分支版本。当分支commit后,我们需要把当前分支的版本合并到主干版本中,或把主干中最新版本合并到当前版本。以分支合并到主干为例,在本地trunk文件夹右击TortoiseSVN->合并(Merge),合并分支在弹出窗口中可以见到有3种合并类型,分别为“合并一个范围的版本”、“复兴合并”和“合并两个不同的树”。三种合并类型合并一个范围的版本:将分支的特定版本范围的修改合并到主干上。合并的源URL填写的是要合并的分支的URL,待合并的版本范围如
6、果为空,则指的是合并分支上所有的版本,即自从分支创建以来到分支当前最新版本的所有演变。如果只是选择其中一个版本,或者几个版本,那么就表示只是将制定的n个版本的变化合并到主干上。如果只是选择其中一个版本,那么表示只是选择那个版本的修改,之前或之后的修改将不被采纳。合并一个范围的版本复兴合并:复兴合并可以理解为是第一种合并类型的一种特例,在复兴合并中,主干可以理解为是自从开创分支之后没有任何修改,而分支是经过修改的,而且合并中分支是没有版本选择的。经过复兴合并,分支中所有的修改都会合并到主干中,合并的结果将使得分支和主干一模一样,从而可以删除分支。复兴合并 合并两个不同的树:此类
7、型与前两种类型不同,第一种类型可以选择分支合并的版本,主干不能选择版本;第二种类型是主干和分支都不能选择合并的版本;而这种类型则是无论是主干还是分支都可以选择合并的版本,即可以选择过去的一个主干版本与分支的某个版本进行合并,比如可以合并范围从主干的上次合并的版本开始到分支上最新的版本结束,如果是第一次合并,则从主干创建分支的版本开始,所以每次合并要做好说明,在日志中体现,不然忘记了下次再合并就有点麻烦。起始URL即选择主干目录的URL(应当和当前工作副本的URL一致)。结束URL
此文档下载收益归作者所有