SVN版本控制说明

上传人:左****笑 文档编号:141579440 上传时间:2020-08-10 格式:PDF 页数:11 大小:808.12KB
返回 下载 相关 举报
SVN版本控制说明_第1页
第1页 / 共11页
SVN版本控制说明_第2页
第2页 / 共11页
SVN版本控制说明_第3页
第3页 / 共11页
SVN版本控制说明_第4页
第4页 / 共11页
SVN版本控制说明_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《SVN版本控制说明》由会员分享,可在线阅读,更多相关《SVN版本控制说明(11页珍藏版)》请在金锄头文库上搜索。

1、. . . . . SVN版本控制 一、版本库目录结构 SVN版本库创建三个目录,如:trunk 、branches 和 tags 。trunk为主干版本,主干版 本要随时可以将应用部署上线发布出去,而不能在主干版本上做任何代码的修改。branches 是分支目录, 存放并行开发的项目代码,可建立多个分支版本,在不同的分支上作不同的模 块的编码。 tags 目录存放trunk某特定版本的快照,当trunk有新版本的合并时,都应该 在 tags 目录下建立一个trunk当前版本的备份(特别是在大改前和大改后的版本必须做好 备份并加以备注说明) 。具体目录结构如下图: SVN版本库目录结构 二、导

2、入本地项目到版本库中 如果版本库中已保存了相关项目文件,则直接把相关项目检出到本地即可。若版本库中 没有相关项目,则按以下操作: 在版本库中trunk文件夹右击点“检出(Checkout ) ” , 检出操作 在弹出窗口选定本地路径点“确定”把trunk文件夹检出到指定本地目录, . . . . . 检出弹出窗口 把本地项目拷贝到当前目录的trunk文件夹中,然后右击 trunk文件夹点“SVN提交 (SVN Commit) ”即可把本地项目导入到版本库中。 三、建立分支或标记 先把版本库trunk中的项目checkout 到本地, 再右击本地的trunk文件夹到Tortoise SVN-分支

3、 / 标记( branch/tag) , 建立分支 / 标记 . . . . . 在弹出窗口中选择版本库中相关目录,如branches 中的 mybranch1.0 目录,把最新版 本项目拷贝到mybranch1.0 目录下,点“确定”即可完成分支的创建。 建立分支 我们可以根据自己的需要创建多个分支,建议可以先创建两个基本的分支,比如 mybranch1.0 和 mybranch2.0 。mybranch1.0 用来做项目日常维护,如修改 bug,小功能优化 等工作。 mybranch2.0 用来做相关数据库结构变化对应的代码修改的工作,数据库结构一旦 发生变化理论上是不能还原回来的(一旦还

4、原,将会丢失最新的数据),因此针对数据库结 构变化所作的代码修改也不可能进行还原,因此这些代码应该单独建立一个分支来进行编 码,而不能放在与功能相关的分支中进行编码。若当有其他大改,如大模块的增加或修改, 这时就要针对各模块另外再创建相应多的分支进行并行开发。 另外还有一种方式,应当尽量避免一个分支合并多次,分支的作用一般为了解决bug, 一旦 bug 对应结束了,分支的使命就结束了,以后再出现其他的问题,应当重新建立分支, 这样就不会出现多次合并的问题了。 标记( tag )从本质上来说也是一个分支,创建 tag 跟创建分支是一样的操作过程。Tag 中存放了trunk中每个版本的快照,且不对

5、其进行修改。 . . . . . 四、分支的修改与合并 项目代码的修改,只允许对分支版本进行修改,而不允许在trunk或 tags 中进行修改。 在一个分支中修改该分支的文件、commit 或 update 文件均不会对其他分支版本造成任何影 响,因此你只需要关心当前分支的版本变化就行。分支每commit 一次,版本库就会创建一 个新的分支版本。 当分支 commit 后,我们需要把当前分支的版本合并到主干版本中,或把主干中最新版 本合并到当前版本。以分支合并到主干为例,在本地trunk文件夹右击Tortoise SVN-合 并( Merge) , 合并分支 在弹出窗口中可以见到有3 种合并类

6、型, 分别为“合并一个围的版本”、 “复兴合并” 和 “合并两个不同的树” 。 . . . . . 三种合并类型 合并一个围的版本:将分支的特定版本围的修改合并到主干上。合并的源URL填写的是 要合并的分支的URL ,待合并的版本围如果为空,则指的是合并分支上所有的版本,即自从 分支创建以来到分支当前最新版本的所有演变。如果只是选择其中一个版本,或者几个版本, 那么就表示只是将制定的n 个版本的变化合并到主干上。如果只是选择其中一个版本,那么 表示只是选择那个版本的修改,之前或之后的修改将不被采纳。 合并一个围的版本 . . . . . 复兴合并: 复兴合并可以理解为是第一种合并类型的一种特例

7、,在复兴合并中, 主干可 以理解为是自从开创分支之后没有任何修改,而分支是经过修改的,而且合并中分支是没有 版本选择的。 经过复兴合并, 分支中所有的修改都会合并到主干中,合并的结果将使得分支 和主干一模一样,从而可以删除分支。 复兴合并 合并两个不同的树: 此类型与前两种类型不同,第一种类型可以选择分支合并的版本, 主干不能选择版本;第二种类型是主干和分支都不能选择合并的版本;而这种类型则是无论 是主干还是分支都可以选择合并的版本,即可以选择过去的一个主干版本与分支的某个版本 进行合并, 比如可以合并围从主干的上次合并的版本开始到分支上最新的版本结束,如果是 第一次合并,则从主干创建分支的版

8、本开始,所以每次合并要做好说明,在日志中体现,不 然忘记了下次再合并就有点麻烦。 起始 URL即选择主干目录的URL (应当和当前工作副本的URL一致)。结束URL为选择 要合并的分支的URL 。起始和结束的版本是指,一般起始版本应当找到最后一次同步时的版 本,如果从没有同步过(第一次合并),则选择创建分支时的版本,结束版本一般是最新版 本,如果你不想将某些容合并进主干的话,也可以选择一个合并点。 . . . . . 合并两个不同的树 选中其中一种方式点“下一条(next ) ” ,填写相关url及要合并的版本号,再点“下一 条( next ) ” ,这时可以点“测试合并(test merge

9、) ”测试看是否报错或有冲突,确定后点 “合并( merge) ”按钮进行合并。 测试合并 . . . . . 如果合并是发生冲突,会弹出提示框,可以点“编辑冲突”按钮度相关文件进行手动调 整解决冲突,并按“解决”按钮完成本次冲突的编辑。当所有冲突解决后,点“确定”完成 合并。 合并冲突 如果合并后的版本效果不满意,并且当前版本还没commit 到版本库上,则可以通过 Tortoise SVN-SVN还原( Revert ) ,还原回当前合并前的版本。 五、版本还原 之前提到, 通过 Tortoise SVN-SVN 还原( Revert )可以还原所有未提交的修改或合并。 但是如果修改或合并

10、的容已经commit 了,可以通过以下方法进行还原: 右击相关分支(或主干)到Tortoise SVN-现实日志( Show log ) ,在弹出窗口中可以 看到该分支(或主干)的所有历史版本。 右击相关版本点“复原到此版本”,即可把当前版本还原到指定版本,但所有版本记录 并不会因此丢失。可以右击到Tortoise SVN-SVN 还原( Revert )来恢复成原来版本。若已 commit,可以通过以上方法还原到commit 后的前一个版本来完成恢复。 右击相关版本点“复原此版本做出的修改”,可以把特定某个版本的变化复原回来。比 如如果你曾经修改或合并了一个新的功能并commit 到主干版本

11、库上,后来你发现该功能有 比较大的问题影响了系统正常运行且不能短时间对其进行修复,这时可以点 “复原此版本做 出的修改”把该功能相应的版本暂时撤销下来,让系统先正常运行,再对该功能进行修复。 . . . . . 版本还原 但经本人实验“复原此版本做出的修改”时似乎有些问题,复原时很容易会有冲突,如 果复原大改的功能冲突可能会更多,处理冲突时如果弄不好可能会出现一系列问题,也很容 易造成混乱。以下方法将会较好的解决冲突问题,减少混乱, 前面提到, trunk每次有新版本提交时都应该给新的版本创建一个快照,并存放在Tags 目录下标记。比如现在trunk做了 4 次提交,版本号分别为v100、v1

12、01、v102、v103(同 时 Tags 中有 4 个快照),现在我想把v101 所修改的容撤销, 那么我们只需拿出v101 的前一 个版本(即v100)的快照,将trunk版本与当前快照进行合并,合并时只需合并v101 后面 的所有版本(即v102、v103) ,这样就相当于撤销了v101 所修改的容,而且其他的修改均 仍然存在。 版本的恢复一般只是一种临时的维护措施,我们可以把临时的版本发布出去,但不需要 把临时版本提交到版本库,以便造成混淆。 六、切换工作副本 当创建了一个主干树并检出到本地副本时,你当前操作的副本就是主干副本的容,任何 操作会影响到主干的信息。当你给主干创建一个新分支

13、时,可在弹出窗口中选中“切换工作 副本至新分支 / 标记” ,这时分支创建后,你当前的工作环境也会切换到新的分支中,这是你 修改当前分支的容影响的是当前分支,而不会对主干有任何影响。 . . . . . 切换副本选项 如果在创建分支时没有选中“切换工作副本至新分支/ 标记” ,那么分支创建后你做在的 工作副本仍然是原来的副本。如果你现在想切换到新的分支副本中,右击当前副本到 Tortoise SVN-切换( Switch ) , 切换工作副本 . . . . . 在弹出窗口中选择你要切换的分支的URL再点“确定” 即可完成切换。 在多个分支并行 开发的情况下,切换操作可以让你方便的在不同副本当中进行切换。 切换的副本的URL

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号