技术文档--svn
1、什么是版本控制,说出常见的版本控制系统及其区别
版本控制它是一种软件工程籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新,它透过文档控制记录程序各个模块的改动,
并为每次改动编上序号,并且编辑错误之后还可以回溯到以前的版本
1、VCS 只能进行本地版本控制
2、VSS支持目录、CVS不支持目录和原子
3、ClearCase、SVN、Perforce、TFS
4、Mercurial(水银/水星)没有、Git快
2、SVN与Git孰优孰劣,为什么
Git的优缺点
对程序源代码进行差异化的版本管理,代码库占极少的空间。易于代码的分支化管理。不支持中文,图形界面支持差,使用难度大。不易推广。
SVN 的优缺点
SVN对中文支持好,操作简单,使用没有难度,美工人员,产品人员,测试人员,实施人员都可轻松上手。使用界面统一,功能完善,操作方便。
SVN 和 Git 哪个更适用于项目管理?
首先说一下,我是一个研发团队的项目经理,SVN和Git我都用过,SVN更适用于项目管理, Git仅适用于代码管理。
一个研发队伍的成员正常包括:需求分析、设计、美工、程序员、测试、实施、运维,每个成员在工作中都有产出物, 包括了文档、设计代码、程序代码,这些都需要按项目集中进行管理的。SVN能清楚的按目录进行分类管理, 使项目组的管理处于有序高效的状态。
SVN大都采用图形界面操作,直观,上手快。
GIT是分布式的,SVN不是
GIT把内容按元数据方式存储,而SVN是按文件
GIT分支和SVN的分支不同
GIT没有一个全局的版本号,而SVN有
GIT的内容完整性要优于SVN
SVN的特点是简单,只是需要一个放代码的地方时用是OK的。
Git的特点版本控制可以不依赖网络做任何事情,对分支和合并有更好的支持(当然这是开发者最关心的地方),不过想各位能更好使用它,需要花点时间尝试下
一、何谓版本控制
它是一种软件工程籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新,它透过文档控制记录程序各个模块的改动,并为每次改动编上序号,并且编辑错误之后还可以回溯到以前的版本
二、为何要使用版本控制系统
1、你是否遇到如下烦恼?
1.不小心删除了自己的项目文档和源代码文件
2.不敢修改自己的源代码文件
3.不知道如何把自己项目文档传递给他人
4.不知道如何把自己的项目分发
5.不断的拷贝和备份
6.文档和源代码管理混乱,无法查找
2、广义的来看待版本控制:平安保险销控会(非软件开发范畴)
三、可供我们选择的版本控制系统
1、VCS
2、VSS、CVS
3、ClearCase、SVN、Perforce、TFS
4、Mercurial(水银/水星)、Git
四、比较上面的版本控制系统(版本控制发展历史)
1、本地版本控制
2、集中版本控制
3、分布式版本控制
五、我们喜欢采用的版本控制系统
1、SVN
2、Git
六、SVN
1、SVN的历史:2000年2月,CVS作者之一Karl Fogel,CollabNet公司
2、SVN的架构
1.SVN网络示意图
2.SVN的部署结构
(1)单机结构
(2)本地文件系统
(3)网络结构
(4)C/S结构
(5)B/S结构
3.SVN的存储结构
(1)SVN仓库(Repository):保存各个版本的软件资源、记录版本更新历史、维护版本分支……
(2)本地的工作目录(Working Directory):开发者进行工作的地方
4.C/S结构下的存储示意图
3、软件
1.Apache官网地址:http://subversion.apache.org
2.TortoiseSVN官网地址:http://tortoisesvn.tigris.org
3.Eclipse插件官网地址:http://subclipse.tigris.org/update_1.12.x
4、SVN常用实操
1.Checkout检出
2.添加文件或文件夹
3.Update更新
4.删除
5.把一个项目文件夹发布到SVN服务器上
6.Export导出
7.历史版本
8.建立分支
9.冲突
10.备份
11.锁定
12.忽略:
(1)SVN 管理Android项目中eclipse的设置和注意事项
1)以下3点不应该纳入SVN版本控制范围:
# bin目录。编译后生成的目标文件
# gen目录。自动生成的R.java
尤其是bin和gen目录,一定要列入SVN忽略列表中!!切记。
2)然后最后一点就是在Eclipse中设置build path让其忽略.svn文件夹
菜单 - Project - Properties - Java Build Path - Source - xxx/src - Excluded,双击或点右边的编辑,在Exclusion patterns中加入"**/.svn/**",让Eclipse忽略.svn目录即可。
3)最后一点就是每次上传最好清空bin和gen目录下所有文件
Before you decided to upload your changes to the server you should empty the bin and gen folders
(2)设置SVN忽略文件和目录(文件夹):http://blog.csdn.net/hemingwang0902/article/details/6904205
5、SVN工作的一天
技术文档--svn的更多相关文章
- Atitit usrQBK1600 技术文档的规范标准化解决方案
Atitit usrQBK1600 技术文档的规范标准化解决方案 1.1. Keyword关键词..展关键词,横向拓展比较,纵向抽象细化拓展知识点1 1.2. 标题必须有高大上词汇,参考文章排行榜,1 ...
- Kafka 技术文档
Kafka 技术文档 目录 1 Kafka创建背景 2 Kafka简介 3 Kafka好处 3.1 解耦 3.2 冗余 3.3 扩展性 3.4 灵活性 & 峰值处理能力 3.5 可恢复性 ...
- RabbitMq 技术文档
RabbitMq 技术文档 目录 1 AMQP简介 2 AMQP的实现 3 RabbitMQ简介 3.1 概念说明 3.2 消息队列的使用过程 3.3 RabbitMQ的特性 4 RabbitMQ使用 ...
- [转]unity3d 脚本参考-技术文档
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...
- Umbraco官方技术文档 中文翻译
Umbraco 官方技术文档中文翻译 http://blog.csdn.net/u014183619/article/details/51919973 http://www.cnblogs.com/m ...
- [转]chrome技术文档列表
chrome窗口焦点管理系统 http://www.douban.com/note/32607279/ chrome之TabContents http://www.douban.com/note/32 ...
- Niagara技术文档汇总
Niagara技术文档汇总http://wenku.baidu.com/view/ccdd4e2c3169a4517723a38f.html Niagara讲解要点http://wenku.baidu ...
- DL动态载入框架技术文档
DL动态载入框架技术文档 DL技术交流群:215680213 1. Android apk动态载入机制的研究 2. Android apk动态载入机制的研究(二):资源载入和activity生命周期管 ...
- 使用Jupyter Notebook编写技术文档
1.jupyter Notebook的组成 这里它的组件及其工程构成,帮助大家更好的用好jupyter Notebook 组件 Jupyter Notebook结合了三个组件: 笔记本Web应用程序: ...
随机推荐
- 纸上谈兵:堆(heap)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 堆(heap)又被为优先队列(priority queue).尽管名为优先队列,但 ...
- JS,Jquery获取各种屏幕的宽度和高度
Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...
- js获取浏览器语言(ie、ff、chrome)、contextpath
/js获取浏览器语言(ie.ff.chrome) var language_en_us = "en-us"; var language_zh_cn = "zh-cn&qu ...
- 百度Ueditor
最近用到了百度Ueditor,也来写一写百度Ueditor的使用教程: 一.从官网下载百度Ueditor,http://ueditor.baidu.com/website/download.html, ...
- JavaWeb项目连接Oracle数据库
参考网址:http://jingyan.baidu.com/article/0320e2c1d4dd0b1b87507b38.html 既然你要链接oracle数据库 ,那么首先就是先打开我们的ora ...
- 由tombstone文件解析jni代码过程
Android开发测试会经常遇到crash. (1)adb shell (2)cd /data/tombstones/ (3)adb pull /data/tombstones/tombston_00 ...
- 设置PATH变量
一不小心把PATH变量清空了,所有的命令都执行不了了,提示“xxx: command not found”,解决办法:在命令行输入export PATH=/usr/local/sbin:/usr/lo ...
- Linux C学习笔记06--Tlist使用(编程工具篇)
为了方便用VIM编程,安装了一个方便的小工具 taglist,下面是taglist使用的一些说明. 常用的taglist配置选项,可以根据自己的习惯进行配置: Tlist_Ctags_Cmd选项用于指 ...
- android系统中查看哪些端口被哪些应用打开
1 查看哪些端口开放,netstat 2 根据端口号获取到UID,比如端口号为10050,转成16进制是2742,使用命令grep -i 2742 /proc/net/tcp6,就能看到其UID,假如 ...
- bash脚本编程之二 字符串测试及for循环
shell中大量的测试和比较选项而困惑呢? 这个技巧可以帮助您解密不同类型的文件.算术和字符串测试,这样您就能够知道什么时候使用 test. [ ]. [[ ]].(( )) 或 if-then-el ...