SVN简单使用
文章目录
1. SVN简介
1.1 什么是SVN
- 代码版本管理工具
- 代码修改记录
- 恢复到历史版本
1.2 SVN与Git
svn优势:
- 使用简单,上手快
- 目录级全限控制
- 子目录checkout,减少不必要的文件检出
1.3 主要应用
- 开发人员用来做代码的版本管理
- 用来存储一些重要的文件,比如合同
- 公司内部文件共享,并且能按目录划分全限
1.4 SVN仓库
推荐:svnbucket,SVN桶
svnbucket:https://svnbucket.com/
现在最好用的SVN服务
1.5 安装SVN客户端
-
TortoiseSVN https://tortoisesvn.net/downloads.html
汉化:
-
Cornstone
2. SVN基础操作
-
登录SVNBucket网站,创建项目
2.1 检出 checkout
-
复制SVN仓库地址
-
在我们的工作目录下
检出成功,并且文件带有一个标识符!
2.2 新增 add 提交 commit 更新 update 历史记录
我们复制一些文件到我们的项目目录
右键,SVN提交
选中需要提交的文件,填写提交信息。
在SVNBucket网站,可以看到提交的内容
当我们修改文件后,被修改的文件会出现红色感叹号
右键,提交,我们可以双击文件,查看文件变更的内容!
进入SVNBucket可以查看提交记录
2.3 查看日志
右键,选择TortoiseSVN,选择显示日志
每次提交之前,尽量要进行一次SVN更新,防止冲突,覆盖别人的文件!
3. 撤销和恢复
- 撤销本地修改
- 撤销已提交内容
- 恢复到指定版本
当我们修改文件错误时,右键文件,选择TortoiseSVN,选择SVN还原
当我们对文件进行了错误的修改,并进行了提交
我们可以在提交日志中,选择提交记录,右键,复原此版本做出的修改
这样撤销只是在本地撤销了,需要重新提交到服务端!!
4. 添加忽略
有时候,有些文件或者文件夹不想提交,我们可以添加忽略
可以右键该文件或者文件夹,选择TortoiseSVN,选择去除版本控制并增加到忽略列表
再提交时,被忽略的文件就会显示已被删除!
从忽略列表删除
5. 解决冲突
什么情况容易发生冲突?
- 多个人修改了同个文件的同一行
- 无法进行合并的二进制文件
怎么避免冲突?
- 经常update同步下他人的代码
- 二进制文件不要多个人同时操作
解决冲突:
- 编辑冲突
- 使用”他们的“文本块解决冲突
- 使用”我的“解决有冲突的文件
6. 分支
什么时候需要开分支?
- 隔离线上版本和开发版本
- 大功能开发,不影响到其他人,自己独立开个分支去开发
SVN经典目录结构:
- trunk
- branches
- tags
我们可以手动创建三个文件夹:
将我们的文件都移动到trunk(主分支)目录下:
然后提交
创建分支:
这样分支就创建完成了。
我们更新一下,就可以看到branches中的分支了。
随着开发时间越来越长,我们的分支可能会越来越多,我们可以把分支单独checkout下来。
右键分支目录,点击属性。
同时,我们可以把trunk单独checkout下来
删除原来的目录,这样我们就保留了分支目录,和主干分支
这样,当我们在修改了主干中的内容的时候,是不会影响到分支中的内容的。
我们可以创建新分支:
这样,我们就有了最新的v2.0版本,我们可以将本地的v1.0切换到v2.0
但是,本地文件夹的名字,需要我们自己手动去修改。
7. 代码暂存
代码暂存作用:
- 代码改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交。
- 代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交。
我们也可以取出暂存: