版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

编写一个成熟可用的程序是一个工作量很大的工程,并非我们一次性就可以搞定的工作,所以在开发过程当中需要:

1、  多人协作

随着对程序体验的需求的提高,一个程序需求的编程知识和模块也在增多,这种情况下让一个程序员同时掌握多门技术是不好实现的:

1、掌握的难度大,开发的成本高(比如:一个大牛的工资)

2、开发效率高,一个人开发的效率是不行的

所以,我们在工作当中大部分讲究的是协作开发,我们以项目需求的技术模块进行团队的组合。

比如:开发一个web项目:如果要招聘一个web大牛,前端、后端、运维服务器都很牛的大牛,薪资高先不说,人也不好找啊。并且一个大牛的开发效率

和开发压力也很大。所以我们会形成一个开发的团队,找前端开发工程师,后端开发工程师,运维工程师,数据库工程师来完成这个艰巨的任务。

2、  版本迭代

就好像一个美术家要完成一件作品,并不是一蹴而就的,好多时候是经历过多次修改的过程,我们编程也是一样的,当然这个修改要有原则,并不是推

倒重来的过程(当然前期无药可救的不算),而是有简单的一个完整的框架开始,然后不断优化升级的过程,这个过程就是版本迭代。

那在这个过程当中,我们需要对代码进行管理,比如:提交、检出、回溯历史、冲突解决、多人协作。那这些需求也就衍生出了我们要学习使用的版本控制工具。

各个公司由于开发的需求和其他因素用到的版本控制工具不都相同,这里我们介绍几种使用较多的版本控制工具。

Cvs:  是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到

保证文件同步的目的。是一种很古老的版本控制工具了,但是是很典型的集中式版本控制工具

SVN: 是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。可以说是集中式版本控制的集大成            者。

Git:   是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。是一种分布式的版本控制工具

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

上面介绍了我们常用的四种版本控制软件,但是也要给大家解释两个概念:

分布式版本控制:分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推

送合并到另外一个代码仓库中。

集中式版本控制:只有一个中央控制,所有的开发人员都必须依赖于这个代码仓库。每次版本控制的操作也必须链接到服务器才能完成。

所以很多公司喜欢用集中式的版本控制是为了更好的控制代码。如果个人开发,就可以选择Git这种分布式的。并不存在那个更加好或者其他的。

转载于:https://www.cnblogs.com/bianjinhui/p/9809157.html

版本控制介绍以及常用的版本控制工具相关推荐

  1. 常用操作系统扫描工具介绍(转)

    原文地址:https://www.cnblogs.com/JeanX/p/5569423.html 常用操作系统扫描工具介绍 1      常用操作系统扫描工具介绍 1.1      CIS-CAT ...

  2. 几款常用UML建模工具解析

    本节向大家介绍几款常用UML建模工具,UML是个好东西,但是过分的依赖于UML也不是一件好事,因为有时候它会把简单的东西复杂化.请看下面详细介绍. 常用UML建模工具 UML不算是个新名词,但是实际中 ...

  3. 什么是版本控制?为什么要有版本控制?常用的版本控制工具有哪些?

    1. 什么是版本控制? 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件.目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术.简单 ...

  4. 版本控制介绍、Git的安装、TortoiseGit的安装、Git的文件操作、IDEA + 同步到GitHub远程仓库 | 克隆 | 分支 | 忽略文件

    文章目录 版本控制 什么是版本控制 常见的版本控制工具 版本控制分类 Git与SVN的主要区别 Git的历史 Git安装与配置 TortoiseGit的安装 Git基本理论 Git项目搭建 Git文件 ...

  5. 软件破解高手常用的破解工具介绍

    剑客离不开剑,软件破解高手也离不开软件破解工具,合适的工具使你事半功倍,本文主要是介绍几种软件破解工具. 1.调试工具softice 2.调试工具Trw2000 3.反汇编工具Wdasm8.93 4. ...

  6. 常用的性能测试工具介绍:LoadRunner和JMeter

    性能测试是软件测试中一个很重要的分支,人们为了提高性能测试的效率,开发出了很多性能测试工具.一款好的测试工具可以极大地提高测试效率,为发现软件缺陷提供重要依据.目前,市面上的性能测试工具很多,有收费的 ...

  7. HuTool工具的使用介绍和常用案例

    HuTool工具的使用介绍和常用案例 一. 是什么 ​ 一个小而全的java工具类,静态方法封装.由开源项目作者的项目中一个util包衍变而来,里面包含了各种平时我们会用到的工具类. ​ 官方文档 二 ...

  8. 常用操作系统扫描工具介绍

    1      常用操作系统扫描工具介绍 1.1      CIS-CAT [功能] 可以根据不同的操作系统,选择不同的基准进行系统漏洞扫描. [适用对象] Unix/Linux,MS Windows, ...

  9. 介绍9种常用的项目管理工具

    本文提供有效的项目管理工具,包括甘特图,WBS,日历,时间线,状态表,HOQ,和思维导图制作工具. 项目管理涉及有效的计划和对工作的系统管理.它包括定义项目目标,制定行程和安排任务,以达到特定的目标. ...

最新文章

  1. lvs直接路由模式简单部署
  2. spring容器实例化bean的3种方式
  3. wireshark windows版数据过滤插件安装及使用
  4. opencv 提取图像线条 霍夫线检测
  5. Charles(青花瓷)抓包工具的使用
  6. html脚注如何设置,word2010脚注文本怎么设置
  7. nginx配置多个域名转向80端口
  8. 虚拟机服务器异常怎么解决,windows server 2016 虚拟机异常关闭
  9. 编写一个方法,将一段文本中的各个单词的字母顺序翻转题
  10. XML/JSON 语法随堂笔记
  11. 计算机组装与系统安装实验目的,计算机原理与系统组装实验
  12. THUCNews新闻文本分类-tfidf+sklearn
  13. java实现记录日志
  14. python在国内外研究现状_国内外研究现状,水平和发展趋势-开题报告
  15. ubuntu16.04安装intel集显驱动过程问题总结
  16. mac苹果下载VSCode最全步骤
  17. oracle的各版本的名称
  18. 【Leetcode】276. Paint Fence
  19. 常见的Android数据传递方法汇总
  20. 南昌大学计算机学院梁教授,教授

热门文章

  1. linux程序设计知识点整理,笔试面试中C/C++重要知识点整理
  2. oracle导出数据dummy,oracle导出表结构1
  3. com 对象与其基础 rcw 分开后就不能再使用_如何使用 Kubeflow 机器学习流水线
  4. APP技巧:手机该不该每天关机一次?看完才恍然大悟!
  5. SpringBoot集成Mybatis用法笔记
  6. 还在用 Notepad++吗? 盘点五款更好用的文本编辑器
  7. 前端:JS类型判断类库
  8. 什么是 Native、Web App、Hybrid、React Native和Weex?
  9. oracle中的tx锁影响查询吗,如何找到TM锁对应的TX锁?
  10. src与href属性的区别