SVN概念
1、SVN是什么
svn是一个集中式的版本控制工具
2、SVN解决什么问题
- 文件的版本控制
- 职责追踪
3、与SVN相关的版本控制工具
SVN:企业里用的较多
GIT:开源领域用的最多最广,没有之一
VSS:微软开发的
cvs:早期时代的版本控制工具
4、SVN架构
svn分客户端与服务端
服务端一般放在公司服务器上
客户端一般安装在开发人员电脑上(平常我们操作的就是客户端)
5、SVN操作
5.1、svn签出
Checkout(SVN取出)
点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout
directory输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。
5.2、svn提交
Commit(版本提交)
把自己工作拷贝所做的修改提交到版本库中,这样别人在获取最新版本(Update)的时候就可以看到你的修改了。
5.3、svn冲突解决
Resolving Conflicts(解决冲突)
有时你从档案库更新文件会有冲突。冲突产生于两人都修改文件的某一部分。解决冲突只能靠人而不是机器。当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。
冲突部分被标记:
<<<<<<< filename
your changes
=======
code merged from repository
revision
Subversion为每个冲突文件产生三个附加文件:
filename.ext.mine
更新前的本地文件。
filename.ext.rOLDREV
你作改动的基础版本。
filename.ext.rNEWREV
更新时从档案库得到的最新版本。
使用快捷菜单的编辑冲突Edit Conflict命令来解决冲突。然后从快捷菜单中执行已解决Resolved命令,将改动送交到档案库。请注意,解决命令并不解决冲突,而仅仅是删除filename.ext.mineandfilename.ext.r*文件并允许你送交。
5.4、svn查看版本记录
Show log(显示日志) 显示当前文件(夹)的所有修改历史。SVN支持文件以及文件夹独立的版本追溯。
5.5、svn还原版本(还原到指定版本、最新版本)
Revert(还原)
还原操作,如刚才对文件做了删除操作,现在把它还原回来,点击删除后,再点击提交,会出现如上的提示框,点击删除后,再点击Revert,即已撤销删除操作,如果这时候点击提交,则系统弹出提示框:没有文件被修改或增加,不能提交。
6、分支
-
主干分支:开发用的。
-
分支:用来收藏特殊版本的分支。
-
可发行分支:发行版本。例如:QQv1.0,QQv2.0。
比如当项目要添加一个实验阶段的功能(可能弃用),并要求功能模块不影响主干时,可以用分支将新功能写在分支中。
分支与主干是相互独立的,在分支中提交的代码无法在主干中更新下来,但反过来也是如此。分支与主干的同步只能通过“合并”。