本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!」
前言
版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。本章初识SVN
1、SVN简介
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
2、SVN 的一些概念
- repository(源代码库):源代码统一存放的地方。
- Checkout(提取):当没有源代码的时候,需要从repository checkout一份,进行修改和开发。
- Commit(提交):当已经修改了代码,需要Commit到repository中。
- Update (更新):当已经Checkout了一份源代码, Update一下就可以和Repository上的源代码同步。
3、SVN 的主要功能
- 目录版本控制
- 真实的版本历史
- 自动提交
- 纳入版本控管的元数据
- 选择不同的网络层
- 一致的数据处理方式
- 有效的分支(branch)与标签(tag)
- Hackability
4、SVN 检出操作
svn checkout http://svn.test.com/svn/project --username=username
复制代码
检出成功后在当前目录下生成检出目录。查看检出的内容 执行
ll project /
5、SVN 解决冲突
当发现文件存在错误,需要修改文件并提交到版本库中。需要进行解决冲突的操作。
首先查看文件不同之处
svn diff
复制代码
然后尝试使用下面的命令来提交更改:
svn commit -m "变更备注"
复制代码
提示提交失败,为了避免两人的代码被互相覆盖,Subversion 不允许我们进行这样的操作。对文件进行更新。
svn update
复制代码
此时本地和仓库已经同步,可以安全地提交更改了
svn commit -m "再次变更备注"
复制代码
6、SVN 提交操作
首先将文件放入版本控制中
svn add "需要提交的文件"
复制代码
可以查看文件在版本控制中的状态
svn status
复制代码
最后进行提交
svn commit -m "需要提交的文件"
复制代码
7、SVN 版本回退
发现修改错误,要撤销修改,通过 svn revert 文件 回归到未修改状态
svn revert "需要回退的文件"
复制代码
恢复目录
svn revert -R "目录文件"
复制代码
撤销回之前的版本,现在是版本 1008,撤回到1006 版本
svn merge -r 1008:1006 readme
复制代码
8、SVN分支管理
创建分支
svn copy 版本库/ branches/新建分支
复制代码
提交新增的分支到版本库。
svn commit -m "add 新建分支"
复制代码
分支合并
svn merge ../branches/新建分支/
复制代码
9、SVN 查看历史信息
- svn log: 用来展示svn 的版本作者、日期、路径等等。
- svn diff: 用来显示特定修改的行级详细信息。
- svn cat: 取得在特定版本的某文件显示在当前屏幕。
- svn list: 显示一个目录或某一版本存在的文件。
近期评论