SVN基本操作
- 检出 checkout
拉取(如果文件/文件夹,带有绿色的对钩代表已经纳入了版本控制) - 新增 add
是将本地新增文件或文件夹标注为受SVN控制,但还未上传到服务器(后面一般跟随commit操作) - 提交 commit
提交(将代码提交到远程仓库) - 更新 update
是从SVN服务器上把最新版本下载到本地来(提交前进行更新(可以有效的避免冲突)) - 历史记录
右键-TortoiseSVN–显示日志
撤销和恢复
- 撤销本地修改
右键-TortoiseSVN-SVN还原 - 撤销已经提交的内容
右键-TortoiseSVN–显示日志-右键想要复原的版本-复原此版本做出的修改
注:这个撤销只是本地撤销,远程仓库并不会改变,需要再次手动提交 - 恢复到指定版本
右键-TortoiseSVN–显示日志-右键想要复原的版本-复原到此版本
注:这个撤销只是本地复原,远程仓库并不会改变,需要再次手动提交 - 添加忽略
右键目录-TortoiseSVN–去除版本控制并添加到忽略(目录下的文件都会删除)
解决冲突
- 什么情况下容易发生冲突
多个人修改了同一个文件的同一行
无法进行合并的二进制文件 - 怎样避免冲突
经常update同步下他人的代码
二进制文件不要多人同时操作 - 冲突了怎么办
在提交爆红的地方右键-编辑冲突 or 使用“他们的”文本块解决冲突 or 使用“我的”文本块解决冲突
分支
- 什么时候需要开分支
隔离线上版本和开发版本
大功能开发,不想影响到其他人,自己独立开个分支去开发 - SVN经典目录结构
- trunk(主干)
右键trunk-TortoiseSVN-分支标记-填写分支路径 和 选择采用哪个版本库作为branche分支的起点,trunk修改并不会影响分支 - branches(分支)
分支合并到主干:右键-TortoiseSVN–显示日志-点击合并的版本-合并版本到…
注:合并完成后trunk需要再次手动提交 - tag(标签)
- trunk(主干)
暂存
- 有什么用?
1、代码改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交
2、代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交 - 怎样用
右键-TortoiseSVN-贮藏(将修改重构的代码进行贮藏,回归到原始代码)
复杂合并请使用BeyondCompare进行复杂合并
————————————————
原文链接:https://blog.csdn.net/weixin_46191299/article/details/115280227