为何要使用版本控制软件?

前言

在项目开发过程中,一个永久性能的话题就是对代码的管理问题

你想在你项目基础上增加新的功能,又担心某些复杂的问题会影响到其他部分的内容,此时你肯定会去备份源代码,而改好了后,备份的代码何去何从又成了问题,

删了?

害怕万一哪天测试崩溃了又想回到之前的状态

不删?

那每写一次都需要备份一下,越来越多的小差异文件势必会对代码维护造成影响

又例如当你把任务分工给别人去完成的时候,最终代码合并又会面临各种需求。

因而你会不断发现新的需求,不断发现问题,如果不做控制,你的代码早晚会崩溃掉


版本控制软件

版本控制软件提供完备的版本管理功能,用于存储追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。
百度百科

常见的版本控制软件

  • github

    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

  • SVN

    SVN的全称是Subversion,即版本控制系统。它是最流行的一个开放源代码的版本控制系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(Repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。
  • Git

    Git 是用于 Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。

Windows版本的GIT提供了友好的GUI(图形界面),安装后很快可以上手

Git是目前世界上最先进的分布式版本控制系统

它具有以下功能:

  1. 从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
  2. 在自己的机器上根据不同的开发目的,创建分支,修改代码。
  3. 在单机上自己创建的分支上提交代码。
  4. 在单机上合并分支。
  5. 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
  6. 生成补丁(patch),把补丁发送给主开发者。
  7. 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
  8. 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

请我喝杯咖啡吧~

支付宝
微信