1、Git简介
1.1、概述
Git 是一个开源免费的分布式版本控制系统,用于快速高效地管理各种小型或大型项目的代码。
Git 不仅容易学习、占用空间小,而且性能快如闪电。
Git 具有廉价的本地分支、方便的暂存区域和多个工作流等功能。
Git 超越了 Subversion、CVS、Perforce 和 ClearCase 等 SCM (Software Configuration Management软件配置管理)工具。
1.2、版本控制的意义
一般情况下,一份文件,无论是DOC办公文档,还是编程源码文件,我们都可能会对文件进行大量的修改变更。
我们无法保证每一次的修改变更都是正确并且是有效的,因此有时候需要追溯历史操作记录。
版本控制(version control)是一种软件工程技术,能够记录我们对文件和目录等内容的修改历史,除了可以方便查看历史操作记录之外,还能利用历史备份恢复到以前的版本。
1.3、版本控制的类型
1.3.1、集中式版本控制
诸如 VSS、CVS、SVN 等集中式版本控制系统(Centralized Version Control Systems,简称 CVCS),都有一个单一的集中管理的服务器,用于保存所有文件修改变更的历史版本。
协同工作的人们都可以通过客户端连到这台服务器,取出最新的文件或者提交更新。
集中式版本控制的缺点是客户端获取的只是最新版本的文件快照,整个项目的历史记录被保存在单一位置,会有丢失所有历史更新记录的风险。

1.3.2、分布式版本控制
诸如 Git、Mercurial 以及 Darcs 等分布式版本控制系统(Distributed Version Control System,简称 DVCS),客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。
这样一来,任何一处的服务器发生故障,事后都可以用任何客户端的本地仓库来恢复。 因为客户端的每一次获取操作,实际上都是一次对代码仓库的完整备份。

1.4、发展历史

1.5、代码托管中心
代码托管中心是基于网络服务器的远程代码仓库,一般简称为远程库。
目前,互联网上有两个十分知名的代码托管中心:GitHub(国外网站) 和 Gitee 码云(国内网站)。
如果不想将代码发布到互联网上,也可以使用 GitLab 在内网中搭建一个代码托管中心提供给内部人员使用。
1.6、工作机制

1、Git简介的更多相关文章
- Git简介
Git从入门到学会 Git简介 Git是什么? Git和SVN一样都是一种高效的管理代码的系统. Git是目前世界上最先进的分布式版本控制系统(没有之一). 创建版本库 什么是版本库呢?版本库又名仓库 ...
- git简介及使用方法
一.git简介及安装1.git简介 Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持, ...
- 一、Git简介
由于工作需要,代码版本控制工具由SVN换为了Git.Git对于我来说,很陌生,不清楚其工作原理,所以查询了一些资料,将自己所得知的内容来汇总一下,梳理一下这方面的知识,同时也给其他想了解Git的童鞋们 ...
- 【学习总结】Git学习-参考廖雪峰老师教程一-Git简介
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- Git简介及安装
1 Git简介 Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码 ...
- Git Step by Step – (1) Git 简介
由于工作的需要,代码版本控制工具要从Perforce换成Git.说实话,刚开始真的很不适应,要从一个可以很好的支持用户界面的工具转到一个命令行工具,而且Git中有几百个命令,一下子就傻眼了. 但是经过 ...
- Git简介【转】
本文转载自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 Git简介 Git是什 ...
- Git 简介与仓库使用
1. Git 简介 2. 远程仓库的使用 3. 本地仓库的使用 1. Git 简介 Git 是分布式版本控制系统,同一个 Git 仓库,可以分布到不同的机器上. 其原理是首先找一台电脑充当服务器的角色 ...
- Git - Git简介与客户端安装
简介 Git是目前世界上最先进的分布式版本控制系统(没有之一)! 集中式版本控制系统(CVS/SVN),版本库是集中存放在中央服务器的,而一般工作的时候,用的都是自己的电脑,所以要先从中央服务器取得最 ...
- Git 简介
版本控制 什么是版本控制? 我需要版本控制吗? - 如果你还没使用过版本控制系统,或许你会有以上疑问,甚至更多疑问.希望后面的回答能让你喜欢上版本控制系统,喜欢上Git. 什么是版本控制:顾名思义,版 ...
随机推荐
- 7.19考试总结(NOIP模拟20)[玩具·y·z]
与其被自己的本性牵着走而痛苦,倒不如试着改变自己. 前言 首先自我检讨一下,T1的部分分是原题,但是我这个 FW 居然没有看出来..(主要是我看错题了) 论语文素养如何限制 OI 水平 别人眼里是一棵 ...
- Python结合文件名称将多个文件复制到不同路径下
本文介绍基于Python语言,针对一个文件夹下的大量栅格遥感影像文件,基于其各自的文件名,分别创建指定名称的新文件夹,并将对应的栅格遥感影像文件复制到不同的新文件夹下的方法. 首先,我们来看一 ...
- 还在拼冗长的WhereIf吗?100行代码解放这个操作
通常我们在做一些数据过滤的操作的时候,经常需要做一些判断再进行是否要对其进行条件过滤. 普通做法 最原始的做法我们是先通过If()判断是否需要进行数据过滤,然后再对数据源使用Where来过滤数据. 示 ...
- 已经有 Prometheus 了,还需要夜莺?
谈起当下监控,Prometheus 无疑是最火的项目,如果只是监控机器.网络设备,Zabbix 尚可一战,如果既要监控设备又要监控应用程序.Kubernetes 等基础设施,Prometheus 就是 ...
- 项目管理--PMBOK 读书笔记(9)【项目资源管理】
1.团队成员的角色与职责: 1)层级结构(OBS):与 WBS 交叉确认部门的全部项目指责,项目组织结构图: 2)矩阵结构(RAM):工作包(活动)与项目团队的关系,主要用于明确角色与期望(职责) 3 ...
- mysql8.0.22在centos7.6下的简单安装
如果想把mysql安装得好一些,则严重推荐使用压缩包来安装,不推荐使用rpm方式. 一般情况下,现在大部分的服务器都是x86-64,少数是arm架构的. 选择合适的版本,下载即可. 本文中,使用的是 ...
- Python中multiprocessing.Pool进程池实现守护进程的方法
前言 在multiprocessing.Process中可以使用p.daemon=True将子进程p设置为守护进程. 那么在multiprocessing.Pool进程池中怎么实现这个功能呢? 什么是 ...
- Project Euler 1~10 野蛮题解
这些题都比较简单就不贴代码和做法了 23333333 具体到做法就是枚举暴力,这十题中可能难一点地方的就是筛质数表,可以学习一下 Eratosthenes 筛法或者是欧拉筛. 如果您不会前十题建议好好 ...
- CLR via C# 笔记 -- 枚举(15)
1. 枚举继承System.Enum,后者继承 System.ValueType,所以枚举是值类型. 2. 枚举不能定义任何方法.属性和事件,不过可以定义扩展方法 3. ToString()方法 Co ...
- STM32的内存管理(转)
背景 这里针对STM32F407芯片+1M外部内存的内存管理!(全篇是个人愚见,如果错误,请不吝指出!) 定义 首先,定义3个内存池,分别是内部SRAM,外表SRAM和CCM:通过指定内存中的绝对地址 ...