为什么需要版本控制
-
代码需要备份
-
协调开发
使用版本控制备份代码的时候应该要注意,按功能提交备份。一是可以知道某次提交的具体功能,二是防止多功能一起提交数据变得杂乱
当多人共同开发时,通过版本控制解决代码冲突
SVN和GIT(内容主要参考网络)
SVN
SVN是Subversion的简称,其特点是集中式管理
SVN的优点
-
集中式管理,管理方式在服务端配置好,客户端只需要同步提交即可,操作简单容易上手
-
在服务端统一控制好访问权限,利用代码的安全管理
-
所有的代码以服务端为准,代码一致性高
SVN的缺点
- 对服务端要求高,服务端宕机则无法正常使用服务
- 分支管理不灵活,分支管理时是在服务端进行操作,管理分支后,会导致所有本地机都需要进行同步
- 需要联网,如果在内网,网速相对稳定,同步速度快,如果是外网,则可能同步很久
GIT
GIT是一个开放源码的版本控制软件,其特点就是分布式管理。
GIT的优点
- 分布式,不依赖中心主机,可以保存在本地,强调个体
- 速度快,灵活,不依赖网络
- 容易解决冲突
GIT的缺点
- 没有严格的权限控制,一般是通过系统设置文件的读写权限来做权限控制。
- 学习难度大,中文资料少,学习成本相对较大
GIT和SVN的选择
根据以上提到的特点:
-
如果对访问控制、权限分配和代码安全性等要求比较高的,建议使用SVN。
-
如果是分布式,多人开发,版本迭代比较快的项目,建议使用git。
因此针对学校小组作业这种形式,更加适合使用git进行版本控制