1.版本管理工具概念
碰到过很多版本管理问题,例如:
领导让写代码,第一版写好了,但是领导不满意改第二版,改好了。领导还是觉得第一版不错,改回来吧,但是第一版没有备份,要重新写。
在这种情况下如果不能查看修改之前的代码,查找问题是非常困难的.
如果有一个软件能记录我们对文档的所有修改,所有版本,那么上面的问题讲迎刃而解.而这类软件我们一般叫做版本控制工具
版本管理工具一般具有如下特性:
1) 能够记录历史版本,回退历史版本(解决上述问题)
2) 团队开发,方便代码合并(每个人负责代码的一部分,最后合成)
2. 版本管理工具介绍
现在比较流行的版本管理工具是git ,但是实际上git 是近几年才发展起来的,可能有一些老的项目,还在用一些老的软件,比如svn
2.1.1 SVN(SubVersion)
工作流程
SVN是集中式版本控制系统,版本库是集中放在中央服务器的.
工作流程如下:
1.从中央服务器远程仓库下载代码
2.修改后将代码提交到中央服务器远程仓库
优缺点:
优点: 简单,易操作
缺点:所有代码必须放在中央服务器
1.服务器一旦宕机无法提交代码,即容错性较差
2.离线无法提交代码,无法及时记录我们的提交行为
svn流程图
2.1.2 Git
工作流程
Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库:
本地仓库和远程仓库
工作流程如下
1.从远程仓库中克隆或拉取代码到本地仓库(clone/pull)
2.从本地进行代码修改
3.在提交前先将代码提交到暂存区
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
总结:git和svn的区别
1. svn 是集中式版本控制工具,git 是分布式版本控制工具
2. svn 不支持离线提交,git 支持离线提交代码