一、SVN概念
SVN(Subversion),即版本控制系统。SVN是一个跨平台的软件,支持大多数常见的操作系统。Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。SVN是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。
二、TortoiseSVN的使用
TortoiseSVN:是SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端。
1. 安装
可以参考:https://www.runoob.com/svn/tortoisesvn-intro.html
https://blog.csdn.net/qq_37236495/article/details/90932081
2. 使用
(1)在文件目录下,check out 即可拉下来代码到本地。
(2)新增目录或文件。
例如:在test项目文件下,新建一个b.txt文件,提交到版本库的方法如下2种:
a.先提到变更列表中,再commit到配置库中,选择新增文件,右键SVN菜单执行“Add“操作提交到”变更列表中”,然后右键SVN菜单执行”SVN Commit”提交到版本库中。
b.不提交到变更列表中,而是直接commit配置库中,选择该文件,右键svn菜单执行”SVN Commit”操作。
(3) SVN的提交(commit)是将在工作空间做的修改进行提交,包括文件内容的修改,文件或目录的添加,删除,命名,移动等操作。
(4)SVN更新(SVN Update)
更新本地代码与SVN服务器上最新的版本一致,只要在需要更新的文件夹上点击右键或者在文件下空白处点击右键,选择”SVN Update” (获取指定版本中的内容,点击右键执行SVN菜单中的 “Update to reversion”),就可以了。
SVN使用图表说明(参考材料http://download.csdn.net/detail/mh942408056/4349428)
SVN基本操作流程
代码控制过程
三、SVN与Git区别
- 最核心的区别Git是分布式的,而Svn不是分布的。Git跟Svn一样有自己的集中式版本库和Server端,但Git更倾向于分布式开发,因为每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可以Commit,查看历史版本记录,创建项 目分支等操作,等网络再次连接上Push到Server端。
- Git把内容按元数据方式存储,而SVN是按文件:因为 .git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.git目录的体积大小跟 .svn比较,你会发现它们差距很大。
- Git没有一个全局版本号,而SVN有:目前为止这是跟SVN相比Git缺少的最大的一个特征。
- Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。