Git基本概述

 更新时间:2017年01月24日 08:32:46   作者:老板丶鱼丸粗面  
本文主要介绍了Git的基础知识。具有很好的参考价值,下面跟着小编一起来看下吧

大致介绍

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效、高速的处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件

Git的诞生

Git是由Linus编写的,这个名字应该不会陌生,著名的Linux就是Linus的杰作!(厉害的人干啥都厉害),虽然Linus创建了Linux,但是Linux的壮大是由全世界热心的参与者共同努力的结果,而在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!

可想而知Linus的心有多累,但在2002年Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统

但是由于某种原因BitMover公司在2005年收回了Linux社区的免费使用权。然后Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!(厉害的人干啥都厉害)

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

版本控制

◆ 本地版本控制系统

◆ 集中化的版本控制

◆ 分布式的版本控制

本地版本控制系统

大多的本地版本控制系统都是采用某种简单的数据库来记录文件的历次更新差异

集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

集中式版本控制系统有几个明显的缺点:

1、如果遇到中央服务器故障,那么谁都无法进行提交,也就无法进行协同工作

2、必须联网进行操作

分布式的版本控制系统( Distributed Version Control System,简称 DVCS )

客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • 有关将idea的系统配置文件移到其它盘激活失效的问题

    有关将idea的系统配置文件移到其它盘激活失效的问题

    这篇文章给大家介绍win7系统盘空间不足,发现idea2019.3 占3.4G,将idea的系统配置文件移到其它盘,激活失效的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-11-11
  • IntelliJ IDEA卡死,如何优化内存

    IntelliJ IDEA卡死,如何优化内存

    这篇文章主要介绍了IntelliJ IDEA卡死,如何优化内存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 如何解决Git推送错误:Updates were rejected问题

    如何解决Git推送错误:Updates were rejected问题

    在使用Git推送更改时,可能会遇到"Updates were rejected"错误,这通常是由于远程仓库包含了本地不存在的更新,解决这一问题的步骤包括拉取远程更改、解决冲突、提交更改及再次尝试推送,遵循正确的步骤可以有效解决冲突,保持代码库的一致性
    2024-10-10
  • VS2019创建MFC程序的实现方法

    VS2019创建MFC程序的实现方法

    这篇文章主要介绍了VS2019创建MFC程序的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • VSCode中ESLint插件修复以及配置教程

    VSCode中ESLint插件修复以及配置教程

    最近为vsocde配置Eslint出现了许多问题,我解决问题之后,觉得还是把这些坑都写清楚,方便学习前端的初学者,下面这篇文章主要给大家介绍了关于VSCode中ESLint插件修复以及配置教程的相关资料,需要的朋友可以参考下
    2022-12-12
  • 使用Postman生成的okhttp代码依赖

    使用Postman生成的okhttp代码依赖

    这篇文章主要介绍了使用Postman生成的okhttp代码依赖,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • windows下gitbash安装教程(小白教程)

    windows下gitbash安装教程(小白教程)

    这篇文章主要介绍了windows下gitbash安装教程(小白教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 网络抓包工具wireshark入门教程详解

    网络抓包工具wireshark入门教程详解

    Wireshark是一个网络数据包分析软件,功能非常强大,奈何他是英文版的,今天就为大家详细介绍一下网络抓包工具wireshark的使用教程
    2018-10-10
  • Istio 访问外部服务流量控制最常用的5个技巧示例

    Istio 访问外部服务流量控制最常用的5个技巧示例

    这篇文章主要介绍了Istio访问外部服务流量控制最常用5个技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 浏览器关闭使session失效的问题多种解决方式

    浏览器关闭使session失效的问题多种解决方式

    直接关闭浏览器(或者强制关闭浏览器进程、死机等),服务器无法处理用户退出网站的请求,此举将会导致session失效,下面整理了一些解决方法,感兴趣的朋友可以参考下哈
    2013-07-07

最新评论