什么是版本控制
“代码”作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储、追踪文件的修改历史,记录多个版本的开发和维护。
为什么要进行版本控制
上图是一个CAD设计师的施工图文件夹,他需要修改原来的施工图,但是他又不想把修改前的文件状态和内容给破坏掉,因为如果直接修改,万一修改的有问题,或者后悔修改了,如果以前的文件状态还在的话,大不了把修改糟糕了的删除了就是了,所以他其实就用到了最简单的版本控制方法,那就是复制重命名。
具体写程序的过程也是一样的道理,其实就是一个反复编辑,不厌其烦的编辑的过程。你修改的时候不希望破坏掉修改前的状态,最好就是每修改一段事件,能够保存一个状态,类似系统的自动快照一样,当后面出现问题的时候,可以自由选择复原到之前的某个快照状态。
还有一个原因就是,很多时候,在发布软件的时候会有多个版本,但版本间的大部分代码还是共用的,所以可以通过版本控制创建多个分支。
还有就是很多时候做一个项目,往往不是单枪匹马单打独斗的,是需要很多个人之间合作的,多人合作自然也需要进行多份文档可以编辑,最后再来合并。
当然,上面举例说明的方法