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. 什么是版本控制:顾名思义,版 ...
随机推荐
- Qt QMainWindow的使用
参考视频:黑马科技:https://www.bilibili.com/video/BV1XW411x7NU?p=19 QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu b ...
- 推荐一款免费的终端工具-Windterm
Windterm 提到SSH终端工具,大家一定会想到putty.xshell.MobaXterm这些产品.但是当我使用Windterm后,我彻底改变了我对之前使用SSH终端工具的认知,其强大的能力,彻 ...
- C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704
C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704 环境说明: .NET Framework 4.6 的控制台程 ...
- 手动解压安装mysql8.0 on windows my.ini
1.解压"mysql-8.0.24-winx64.zip"到d:\Soft 2.在"D:\Soft\mysql-8.0.24-winx64"目录新建一个my.i ...
- C#.NET 使用Windows证书库中的证书
public static X509Certificate2 GetCertificate(string commonName, StoreName storeName) { X509Certific ...
- Vue学习:11.了解生命周期
Vue.js框架为组件设计了一套完整的生命周期,涵盖了从创建到销毁的全过程.这些生命周期钩子函数(lifecycle hooks)允许开发者在特定的阶段执行自定义逻辑,以便更好地管理组件的状态和与其交 ...
- invalid comparison: java.util.ArrayList and java.lang.String 异常分析及解决方法
nvalid comparison: java.util.ArrayList and java.lang.String 异常解决方法异常原因首先我们可以确定是在mybatis的xml中的 list 操 ...
- Java 对象转Map,Java Map转对象方法
Java 对象转Map,Java Map转对象方法 import com.alibaba.fastjson.JSON; import org.apache.commons.beanutils.Bean ...
- 微信支付or支付宝支付调用流程图
微信支付or支付宝支付调用流程图 支付宝小程序支付调用流程https://opendocs.alipay.com/mini/03l735 微信H5支付调用流程https://pay.weixin.qq ...
- 高通平台抓ram dump
高通平台抓ram dump 原文(有删改):https://blog.csdn.net/m0_37166404/article/details/80821600 背景 高通平台下提供了一个工具,专门用 ...