git简介

作者: 若兮缘 | 来源:发表于2018-12-07 22:35 被阅读63次

Git是一款免费、开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
GitLinus Torvalds为了帮助管理Linux内核开发而开发的一个开源的版本控制软件。

诞生历史

Linus在1991年创建了Linux,Linux的代码是由全世界热心的志愿者参与共同开发,起初Linus本人通过手工方式合并志愿者发送的代码!手工维护原因是因为Linus坚定地反对CVSSVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。而使用一些付费软件和Linux的开源精神不符。

到了2002年,Linux代码库之大让Linus很难继续通过手工方式管理了,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司,出于人道主义精神,授权Linux社区免费使用这个版本控制系统。

2005年Linux社区牛人试图破解BitKeeper的协议,被BitMover公司发现了,于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus被迫花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!

Git迅速成为最流行的分布式版本控制系统,尤其是08年GitHub网站上线,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub

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

语义:大多数情况下你可以将git看作是一个文件系统,它是基于内容寻址的,当然也有版本控制的概念,但是我确实是从一个文件系统的开发人员角度来设计git的,并且我对创建传统的SCM系统毫无兴趣。

git优缺点
优点
  • 适合分布式开发,强调个体
  • 公共服务器压力和数据量都不会太大
  • 速度快、灵活
  • 任意两个开发者之间可以很容易的解决冲突
  • 离线工作
缺点
  • 资料较少(中文资料)
  • 学习周期相对而言比较长
  • 不符合常规思维
  • 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息
git相关网站

官网:https://www.git-scm.com/
官方教程:https://www.git-scm.com/book/en/v2
Pro Git(中文版):http://git.oschina.net/progit/

相关文章

  • Git 学习笔记

    ----------------- Git 学习 ------------------ Git 简介 Git...

  • git的使用命令和在企业中的使用

    GIT简介====================================================...

  • git简介

    第1节:git简介 git简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Gi...

  • git简介

    需求分析当我们一个人独自编写程序时,对程序的改动是实时的,修改某一部分,即修改某一部分,十分准确,但是当我们出错时...

  • git简介

    1.概言 git是分布式版本控制系统。 git是由linux系统的创始人linus用C花了两周时间写出来的...

  • Git 简介

    产生历史 LINUS在1991年创建开源的Linux,在2002年以前,世界各地的志愿者把源代码通过diff的方式...

  • Git简介

    Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 Git有什么特点? 简单来说就是:高端...

  • git简介

    一.git安装 安装Git 阅读: 1637396 最早Git是在Linux上开发的,很长一段时间内,Git也只能...

  • Git简介

    Git是目前世界上最先进的分布式版本控制工具1.Git是分布式的,SVN和CVS都是集中式的版本控制系统需要将版本...

  • Git简介

    Git原理及特性 每个项目都有一个git目录,它是Git用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆...

网友评论

      本文标题:git简介

      本文链接:https://www.haomeiwen.com/subject/mzxfhqtx.html