版本控制

1.1 如果没有版本控制?

Team开发必备。

一个人开发(必备)。

版本控制:控制(代码)版本。

论文:版本控制?

毕业论文-4-22.doc

毕业论文-5-01.doc

毕业论文-final.doc

毕业论文-final-final.doc

毕业论文-final-final2.doc

软件的代码

  • 备份多个版本,费空间,费时间
  • 难于恢复至以前正确版本
  • 容易引发BUG
  • 解决代码冲突困难
  • 难于追溯问题代码的修改人和修改时间
  • 无法进行权限控制 (读 写  哪些代码开放)
  • 项目版本发布困难

1.2 什么是版本控制

SVN

2.1 简介

2.2 环境搭建

2.2.1 Svn服务器

VisualSVN-Server-3.3.1 window上的svn服务器软件

安装过程百度一下。

2.2.1.1 配置用户

2.2.2 Svn客户端

跟svnserver交互的客户端软件 集成了svn的各种命令。

安装步骤见安装的word文档。

2.3 Svn的基本使用

控制任何语言的代码。

基本的功能的使用。

2.3.1 使用svn服务器软件创建版本仓库

2.3.2 Svn仓库的目录结构

  • 仓库目录说明

    • db目录:就是所有版本控制的数据存放文件。
    • hooks目录:脚本文件的目录。
    • locks目录:用放置hook来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端。
    • format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
    • conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。

2.3.3 Svn checkout (检出)

要找一个空白的目录从服务器上把代码仓库下载到本地。

2.3.4 Add

把新增加的文件纳入到版本控制。

2.3.5 Commit

把本地的内容提交到服务器上。

2.3.6 Update

去服务器上获取最新的版本内容。

可以在文件上操作 ,表示仅仅更新这个文件

可以在空白处操作。表示更新这个项目服务器上的所有东西。

2.3.7 代码冲突的解决。

2.3.7.1 Case1  冲突文件的代码 被svn工具自动合并了(罕见)。

Svn帮你合并的(知道一下)

提示应该先去更新

选择update,把服务器上的版本 更新下来。

自动合并。

svn自动合并之后,需要程序员自己去检查一下,svn自动合并是否正确。

如果正确,继续提交。

2.3.7.2 Case2 (svn工具整合的时候报错了,需要我们自己解决冲突 大部分情况)

需要自己手动merge。

解决冲突

冲突解决完毕之后

2.3.8 History

在空白处查看—— 查看的是整个项目的提交历史

在某一个文件上点击

单个文件的history

2.3.9 文件的锁定

用户Alock之后,

其他用户可以update,但是无法commit。

用户A什么时候unlock

当他提交之后,就unlock了。

2.3.10 版本回滚(回退)。

2.3.10.1 Revert to this reversion (回退到这个版本)

比如当前的版本是9.

回退到这个版本8.

Revert to this reversion 8,本地变成8. 再次提交,提交之后。会产生一个新的版本10. 跟之前的8一样。

2.3.10.2 Revert change from this version

(把这个版本的变化撤销)

如果当前的版本是10

选择版本6,进行 revert change from this version,

本地的代码会把版本6的变化撤销。

撤销之后有可能会代码冲突。此时需要解决冲突。

提交之后,产生一个新版本11.

此时11里没有版本6的修改。但是还有7 8 9 10

2.4 Svn和eclipse的结合使用

2.4.1 Eclipse 安装一个svn插件

2.4.1.1 方法1

在线安装

2.4.1.2 方法2

离线安装

2.4.2 整合之后的基本使用

2.4.2.1 把svn服务器的项目checkout到myeclipse里

2.4.2.2 基本使用跟tortoisesvn一样

右键操作

2.4.2.3 冲突解决

Merge code  手动去解决冲突代码。

2.4.2.4 版本回退

第一个:

从修订版4 回复更改 –> 把修订版4 恢复(撤销)更改

等价revert change from this version,

第二个:

Switch to reversion 4 ——》

切换到版本4

Revert to this reversion。回退到版本4.

最新文章

  1. 这几天开始,先学习一些 java 基础吧,学的有点累
  2. Xcode安装插件,错误选择了Skip Bundles,重新出现Load Bundles方法
  3. jQuery - 动态创建iframe并加载页面
  4. Windows 10 Java环境变量配置
  5. GTD时间管理(3)---梳理总结
  6. MSP430F149学习之路——比较器Comparaor_A
  7. 搭建高性能计算环境(八)、应用软件的安装之gromacs
  8. Android4.4 蓝牙源码部分分析
  9. Activity 与ListActivity的区别
  10. sublime 3 3083验证码
  11. 安装爬虫scrapy
  12. 6.26学习 异步委托回调函数 VS 多线程 VS 并行处理
  13. python 实现注册程序
  14. MPAndroidChart图形联动
  15. SQL反模式学习笔记1 开篇
  16. jquery的选择器——[作为学习备用]
  17. jquery中$.each()的用法
  18. iOS 基础:Frames、Bounds 和 CGGeometry
  19. java第四次上机
  20. Codeforces.700E.Cool Slogans(后缀自动机 线段树合并 DP)

热门文章

  1. ROR部署到Heroku出现Application Error和code=H10 desc="App crashed“问题
  2. Windows 10 1703创意者更新官方ISO镜像大全
  3. Java中的线程池ExecutorService
  4. hdu 5071 Chat-----2014acm亚洲区域赛鞍山 B题
  5. [Linux] 概念
  6. 如何编译文件(gcc + nasm)
  7. map和string的使用方法
  8. StackOver上的一个wx刷新显示的例子
  9. 【题解】AT2043 AND Grid
  10. 一起来学linux:日志文件