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. css 文本换行的问题

    今天测试再测试功能的时候无意间发现了这个css的bug,我们可以仔细看第一张图的最后两行,明明还没有到结尾就自动换到最后一行去了,按理说应该是撑满当前行再挤到下一行去,于是我就去看了下css的文本溢出 ...

  2. js 禁用右键菜单和禁止复制

    大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国神游,多 ...

  3. 【技巧】JS代码这么写,前端小姐姐都会爱上你

    前言 缘由 JS代码小技巧,教你如何守株待妹 你想听的故事: 顶着『前端小王子』的称号,却无法施展自己的才能. 想当年本狗赤手空拳打入前端阵地,就是想通过技术的制高点来带动前端妹子.奈何时不待我,前端 ...

  4. C# || 批量翻译工具 || 百度翻译api || 读取.cs文件内容 || 正则表达式筛选文件

    背景: 我们项目一开始的所有提示都是中文,后来要做国际化.发现项目中的带双引号的中文居然有 2.3 w 多条!!!简直让人欲哭无泪... 如果使用人工改的话,首先不说正确率了.光是效率都是难难难.所以 ...

  5. LeetCode 40. Combination Sum II 组合总和 II (C++/Java)

    题目: Given a collection of candidate numbers (candidates) and a target number (target), find all uniq ...

  6. 剑指Offer-52.正则表达式匹配(C++/Java)

    题目: 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. ...

  7. windows 右键菜单编辑/删除

    windows 右键菜单编辑/删除.WIN7,WIN8,WIN10,WIN11. 在 https://www.sordum.org/7615/easy-context-menu-v1-6/ 页面底部下 ...

  8. C#.NET Winform承载WCF RESTful API (App.config 方式)

    1.新建一个名为"WindowsForms承载WCF"的WINFORM程序. 2.在解决方案里添加一个"WCF 服务库"的项目,名为"WcfYeah& ...

  9. rust 程序设计笔记(1)

    简介 - Rust 程序设计语言 简体中文版 hello world & rust相关工具使用 hello world rustc rustc --version complie .rs pr ...

  10. 解决git 区分文件名大小写

    问题:两人协作开发同一分支时,由于一方将组件文件名小写开头,并且推送到远程分支,导致我每次拉取代码会将我本地文件名改成小写,并且我手动改成大写后推送到远端仓库,远端仓库文件名无变化,还是小写. 查证后 ...