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简介的更多相关文章

  1. Git简介

    Git从入门到学会 Git简介 Git是什么? Git和SVN一样都是一种高效的管理代码的系统. Git是目前世界上最先进的分布式版本控制系统(没有之一). 创建版本库 什么是版本库呢?版本库又名仓库 ...

  2. git简介及使用方法

    一.git简介及安装1.git简介 Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持, ...

  3. 一、Git简介

    由于工作需要,代码版本控制工具由SVN换为了Git.Git对于我来说,很陌生,不清楚其工作原理,所以查询了一些资料,将自己所得知的内容来汇总一下,梳理一下这方面的知识,同时也给其他想了解Git的童鞋们 ...

  4. 【学习总结】Git学习-参考廖雪峰老师教程一-Git简介

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  5. Git简介及安装

    1 Git简介 Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码 ...

  6. Git Step by Step – (1) Git 简介

    由于工作的需要,代码版本控制工具要从Perforce换成Git.说实话,刚开始真的很不适应,要从一个可以很好的支持用户界面的工具转到一个命令行工具,而且Git中有几百个命令,一下子就傻眼了. 但是经过 ...

  7. Git简介【转】

    本文转载自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 Git简介 Git是什 ...

  8. Git 简介与仓库使用

    1. Git 简介 2. 远程仓库的使用 3. 本地仓库的使用 1. Git 简介 Git 是分布式版本控制系统,同一个 Git 仓库,可以分布到不同的机器上. 其原理是首先找一台电脑充当服务器的角色 ...

  9. Git - Git简介与客户端安装

    简介 Git是目前世界上最先进的分布式版本控制系统(没有之一)! 集中式版本控制系统(CVS/SVN),版本库是集中存放在中央服务器的,而一般工作的时候,用的都是自己的电脑,所以要先从中央服务器取得最 ...

  10. Git 简介

    版本控制 什么是版本控制? 我需要版本控制吗? - 如果你还没使用过版本控制系统,或许你会有以上疑问,甚至更多疑问.希望后面的回答能让你喜欢上版本控制系统,喜欢上Git. 什么是版本控制:顾名思义,版 ...

随机推荐

  1. Qt QMainWindow的使用

    参考视频:黑马科技:https://www.bilibili.com/video/BV1XW411x7NU?p=19 QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu b ...

  2. 推荐一款免费的终端工具-Windterm

    Windterm 提到SSH终端工具,大家一定会想到putty.xshell.MobaXterm这些产品.但是当我使用Windterm后,我彻底改变了我对之前使用SSH终端工具的认知,其强大的能力,彻 ...

  3. C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704

    C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704 环境说明: .NET Framework 4.6 的控制台程 ...

  4. 手动解压安装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 ...

  5. C#.NET 使用Windows证书库中的证书

    public static X509Certificate2 GetCertificate(string commonName, StoreName storeName) { X509Certific ...

  6. Vue学习:11.了解生命周期

    Vue.js框架为组件设计了一套完整的生命周期,涵盖了从创建到销毁的全过程.这些生命周期钩子函数(lifecycle hooks)允许开发者在特定的阶段执行自定义逻辑,以便更好地管理组件的状态和与其交 ...

  7. invalid comparison: java.util.ArrayList and java.lang.String 异常分析及解决方法

    nvalid comparison: java.util.ArrayList and java.lang.String 异常解决方法异常原因首先我们可以确定是在mybatis的xml中的 list 操 ...

  8. Java 对象转Map,Java Map转对象方法

    Java 对象转Map,Java Map转对象方法 import com.alibaba.fastjson.JSON; import org.apache.commons.beanutils.Bean ...

  9. 微信支付or支付宝支付调用流程图

    微信支付or支付宝支付调用流程图 支付宝小程序支付调用流程https://opendocs.alipay.com/mini/03l735 微信H5支付调用流程https://pay.weixin.qq ...

  10. 高通平台抓ram dump

    高通平台抓ram dump 原文(有删改):https://blog.csdn.net/m0_37166404/article/details/80821600 背景 高通平台下提供了一个工具,专门用 ...