SVN学习
1. 什么是svn?
全称:SubVersion
特点:操作方便,入门简单
支持跨平台操作(Window,Linux,MacOs)
支持版本回退(时间机器)
属于c/s结构软件(客户端与服务端)
服务端为:VisualSVN
客户端为:Tortoisesvn
基本操作
- 检出 checkout
- 新增 add
- 提交 commit
- 更新 update
- 历史记录
撤销和恢复
- 撤销本地修改 :只是子本地进行修改的话,可以选 svn 还原,对修改的文件进行还原
- 撤销已提交内容 :如果提交到远程服务器后, 进行日志查询 选择相对应的日志,进行 相对应的复原
- 恢复到指定版本: 找到对应的日志信息 选择复原到此版本 仅仅是对本地文件进行还原
如何进行提交文件的忽略
- 在该文件或者文件夹,点击 添加到忽略版本控制
- 如果想要恢复, 则移除 忽略区
解决冲突问题
-
什么时候容易发生冲突
多个人修改了同一个文件的同一行 无法进行合并的二进制文件
-
怎么避免冲突?
经常update同步下他人的代码 二进制文件不要多个人同时操作
-
有冲突了怎么办
问题很简单;选择对应冲突的文件。 可以比较冲突文件的内容差异。或者放弃自己的文件使用别人的亦或者放弃别人的,坚持使用自己的文件
分支
-
什么时候需要分支
隔离线上版本和开发版本 大功能开发,不想影响到其他人,自己独立开个分支去开发
-
SVN经典目录结构
trunk branches tags
SVN的暂存
-
作用:
1.代码修改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交 2.代码重构了很多,突然要发布新的版本,但是代码跑不起来,不能提交
-
操作
右键设置内进行贮藏操作。 类似创建一个时间节点,用来暂时保存
复杂代码合并
使用 Beyond 这个软件进行比较合并
-