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简介

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