1.1.2 版本控制的好处
试想一下,如果没有版本控制系统,当你需要处理那些共享文件夹中的文件时,你必须告知办公室里的所有人,你正在对哪些文件进行编辑;与此同时,其他人必须要避免与操作相同的文件。这是一个不现实和完全错误的流程。当你花了很长时间完成你的编辑后,可能这些文件早已经被团队里的其他开发成员修改或者删除了。
如果使用了版本控制系统,每一个团队成员都可以在任何时间对任何文件毫无顾虑的进行修改,版本控制系统可以把之后所有的改动合并成一个共同的版本,不论是一个文件还是整个项目。这个共同的中心平台就是我们的版本控制系统。
1.2 SVN简介
Subversion简称SVN,是apache旗下的一款版本控制工具;它将文件存放在中心版本库里, 这个版本库很像一个普通的文件服务器, 不同的是, 它可以记录每一次文件和目录的修改情况, 这样就可以借此将数据恢复到以前的版本, 并可以查看数据的更改细节。另外SVN还提供版本冲突解决、权限控制、集中式的代码管理、日志记录等功能;
SVN全称:Subversion;是Apache公司研发的一款开放源代码的版本控制系统,它将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。除此之外,SVN还提供了优雅的代码冲突解决、权限控制、修改日志记录等;
Subversion官方网站:https://subversion.apache.org/
1.3 SVN的安装
SVN也是一个C/S架构的软件,我们首先需要安装SVN服务端;
1)双击SVN服务端安装程序:
2)接受协议:
3)添加环境变量:
4)选择标准安装:
5)选择SVN安装路径、仓库路径以及端口
6)开始安装:
7)安装成功
8)SVN服务端窗口:
关于仓库、用户、组的知识点我们在后面详细介绍;
1.4 SVN操作介绍
1.4.1 SVN的操作流程
checkout
:从远程仓库(SVN)中拉取代码,初始化本地项目;此时本地项目和svn中的一模一样(最新版本的代码)。update
:从服务器获取最新的代码(最新的版本),我们每天来到公司的第一件事就是更新到最新代码,提交代码前也要先更新一下代码,防止使用旧版本提交;commit
:将代码提交到服务器,此时服务器的最新代码以我们电脑当前的代码为准,每次提交后,版本号都会累加;
1.4.2 代码提交产生的问题
多人在协同开发时,可能会出现如下问题:
1)旧版本冲突:
用户在提交代码时,必须要使用最新的版本进行提交,不能使用旧版本提交代码;
- ①小灰更新代码到最新版本(10)
- ②小蓝更新代码到最新版本(10)
- ③小灰新增一行111
- ④小蓝新增一行222
- ⑤小灰提交代码到svn仓库,svn仓库中的文件版本为11,小灰本地文件的版本也变为11
- ⑥小蓝提交代码到svn仓库,提交失败,使用了旧版本的数据进行提交。
我们在提交代码前应该养成习惯,首先更新一下本地代码,即将本地代码的版本更新到最新,然后再提交;
2)代码编辑冲突:
我们前面说到过,我们在提交代码前应该更新(update)一下代码,确保本地文件的版本是最新版本,然后再提交;那万一在更新代码时,svn中的代码和我们当前本地的代码不一样呢?此时就会产生代码冲突问题:
- ①小灰更新代码到最新版本(10)
- ②小蓝更新代码到最新版本(10)
- ③小灰修改文件内容为aaa
- ④小蓝修改同一个文件,将内容修改为bbb
- ⑤小灰提交代码到svn仓库,svn仓库中的文件版本为11,小灰本地文件的版本也变为11
- ⑥小蓝更新代码(确保本地文件是最新版本),此时代码冲突;因为本地文件中的内容和svn仓库中的文件内容不一致;
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!