目录
版本控制(VCS)
版本控制就是记录一个文件或者若干文件的内容变化,并能查阅特定的版本和追溯之前修改情况的系统。简单的说版本控制就是可以保存一个项目某个时间的内容,当你查看之前的一个时间点的内容时,系统就可以显示出时间点(当前版本)与上一时间点(上一个版本)之间的改动细节。
版本控制系统分为:集中式版本控制和分布式版本控制
使用版本控制的好处:
- 作为数据备份(防止手贱的人做出让别人贱手的事)
- 版本管理:最主要的原因避免版本管理混乱。使用版本控制会详细的记载每次你的改动内容、每次的提交时间、还有不同版本之间的差异(最怕的就是改到最后自己都不知道哪个版本才是对的)
- 提高协同,多人开发效率(避免划水)
- 明确分工责任(自己的锅自己背)
版本控制工具
Mercurial :是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强
CVS:是版本控制系统,是源配置管理(SCM)的重要组成部分,它是基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。
SVN(常用)
SVN是Subversion的简写,SVN是集中式管理。它是通过多人共同开发同一个项目,实现资源共享,最终实现集中式管理
优点:
- 集中式管理
- 在服务端统一控制访问权限
- 所有代码以服务器为准,代码的一致性高
缺点:
- 必须有网 ,SVN没有本地仓库的说法,没有网就不能将自己的代码提交至SVN服务器
- 分支管理不够灵活,由于操作都是在服务器上面同步的,所以导致如果需要删除分支,也要将远程的分支删除,使得每个分支都要同步(没有体会)
- 对服务器的性能要求较高,比较依赖服务器
Git(常用)
Git是一个开源的分布式版本控制系统,相比集中式的版本控制系统来说,Git可以使开发者先将代码提交到本地(没有网络也能提交到本地仓库)
优点:
- 离线工作(没有网络也可以先将自己编写的代码上传至本地仓库)
- 解决多人冲突(在本地仓库合并分支解决冲突)
- 分布式开发是,可以克隆一个本地的版本,然后字本地进行操作提交,本地可以完成一个完整版本的控制
缺点:
- 没有严格的权限控制
- 没有svn简单,易上手
- 工作目录为整个项目的目录
Git和SVN总结
-
Git是分布式的,SVN是集中式的
-
Git复杂概念多,SVN简单易上手
具体参考:
https://www.cnblogs.com/qcloud1001/archive/2018/10/31/9884576.html
https://blog.csdn.net/qq_39361350/article/details/87288291
代码托管平台
GitHub(国外)
Git和GitHub不一样,Git是一个版本控制工具,而GitHub是基于Git的一个代码托管平台,GitHub允许每一个开发者在平台上创建私有或公有的仓库(私有库需付费)。
GitHub是一个国外的代码托管平台。只支持英文,只对Git格式的代码进行托管
GitLab(国外)
从代码的私有性上来看,GitLab 是一个更好的选择。但是对于开源项目而言,GitHub 依然是代码托管的主要选择
Coding.net(国内)
Coding是基于Git的另一种代码托管平台;由于访问GitHub速度较慢,并且GitHub中只支持英文;在国内出现了Coding这样的托管平台;但是Coding不仅仅只有代码托管的作用
码云(国内)
码云是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管
以上只是目前我常听到或者在使用的托管平台。
参考:
https://www.cnblogs.com/leeyongbard/p/9777498.html
https://www.cnblogs.com/oc-bowen/p/6676794.html
小仙女就要好好学习,天天向上。