一文带你了解git
git简介
什么是git?
git是当今世界上最先进的分布式的版本控制系统。
版本控制系统分集中式的和分布式的,集中式的主要代表有CVS、SVN,而Git是分布式版本控制系统的佼佼者。
那什么是集中式、什么是分布式的?
上图,一图胜千言
图片来自git官网
集中式版本控制系统如图所示:

特点:
- 版本库都集中存放在中央服务器中;
- 开发人员开发时需要先从服务器update到最新版本;
- 开发完成后需要commit到中央服务器;
- 最大的问题就是,如果没网了,你将无法提交版本,相当于没有了版本控制功能。最为严重的是,如果中央服务器跪了,将面临彻底丢失项目的版本库的风险。
分布式版本控制系统如下图:

特点:
- 如图所示,客户端不再只是保存一份版本库的快照了,而是完全克隆了一份版本库
- 这种设计下,即使没网了,本地客户机照样可以提交版本,不影响版本管理
- 服务器挂了,可以从任意一台客户机拷贝还原,因为客户端也保存的是完整的库
git这么厉害,谁开发的呢?
Linus。Linus是谁?就是那个开发了Linux操作系统称霸全球的大神!
开始,Linux源码托管于一个商业的版本控制系统BitKeeper,BitKeeper所属公司BitMover出于人道主义精神,授权Linux社区免费使用该版本控制系统。然后,牛人聚集的Linux社区有人视图破解BitKeeper协议,被BitMover公司发现,于是一怒之下收回了该软件的免费使用权。
“是时候表演正真的技术了!”,Linus大神要出手了。
据说,Linus花了两周时间用C写了一个版本控制系统,也就是Git。一个月之内,Linux源码已经由Git管理了。此后,Git迅速成为了最流行的分布式版本控制系统。关键还是开源免费的。
此处当歌之。“无敌是多么,多么寂寞”。
没错,他就是那个独自站在顶峰的男人!!

好了,下面说下git怎么安装
git安装
很长一段时间,git只能在Linux环境下跑。不过现在,Linux、Windows、MacOs等操作系统平台下都可以安装git。
下载
可以到git官网:https://git-scm.com/ 下载合适的版本。

在Linux上安装git
可以通过linux发行版自带的软件包管理工具安装,非常简单。
例如基于Debian的发行版Ubuntu,可使用如下命令:
sudo apt install git-all
Windows下安装git
直接下载Git for Windows安装包,图形化界面下一步安装即可。

安装成功后
桌面上鼠标右键会有 Git Bash Here菜单,单击出现如下界面说明安装成功。

哪里可以学习git
1、首选git官网

官网有git参考手册。另外Pro Git的电子书也可以直接线上阅读。
全英不要怕,使用Chrome翻译大法啊,一键翻译。

2、廖雪峰方网站git教程
https://www.liaoxuefeng.com/wiki/896043488029600
3、Runoob com菜鸟教程官网
https://www.runoob.com/
这个网站有好多入门教程,可以直接搜索相关教程即可。
总结
本篇主要介绍了什么是git、git相比于svn等集中式版本控制系统的优势,git在各操作系统平台下的简易安装。最后总结了下学习git的几种途径。
扫码关注微信公众号:二营长的笔记。回复“二营长”,可领取Java相关技术资料。

一文带你了解git的更多相关文章
- 一文带你走遍Git世界,教会你Git的使用
@ 目录 这篇文章教会Git 1. Git是什么? 1.1 发展历程 1.2 Git是什么? 1.3 Git和SVN 2.Git有什么用? 2.1 代码合并 2.2 代码备份 2.3 代码还原 2.4 ...
- 一文带你了解elasticsearch
一文带你了解elasticsearch cxf2102100人评论160人阅读2019-07-02 21:31:36 elasticsearch es基本概念 es术语介绍 文档Document ...
- 小丁带你走进git的世界三-撤销修改
一.撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...
- 小丁带你走进git的世界二-工作区暂存区分支
小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git init git clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 ...
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- 小丁带你走进git的世界三-撤销修改(转)
一.撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...
- 版本管理工具Git(1)带你认识git
简介 本篇将带领大家认识,git.github,让大家对git有基本的认识:下面将持续更新几篇文章来介绍git,见git导航: 下一篇中将讲解git的安装及使用: Git系列导航 版本管理工具Git( ...
- Istio是啥?一文带你彻底了解!
原标题:Istio是啥?一文带你彻底了解! " 如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 Istio,并且知道它和 Service Mesh 有着牵扯. 这篇文章可以作为了解 ...
- 一文带您了解5G的价值与应用
一文带您了解5G的价值与应用 5G最有趣的一点是:大多数产品都是先有明确应用场景而后千呼万唤始出来.而5G则不同,即将到来的5G不仅再一次印证了科学技术是第一生产力还给不少用户带来了迷茫——我们为什么 ...
随机推荐
- 用JavaScriptSerializer解析JSON
引用System.Web.Extensions using System.Web.Script.Serialization; var serializer = new JavaScriptSerial ...
- EasyUI之combogrid
html代码: <div class="item-label">@Html.L("Name"):</div> <input id= ...
- CSS技巧分享:如何用css制作横排二级下拉菜单
原文:CSS技巧分享:如何用css制作横排二级下拉菜单 导航菜单是每个网站所必备的功能,也是每个学习制作网站的朋友所必须接触的,如何用css样式制作一个简单漂亮的二级下拉菜单呢,下来小编就一步一步教大 ...
- AngularJS的简单使用(入门级)
AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中. AngularJS有着诸多特性,最为 ...
- Debug监视器(监视运行期程序通过API函数OutputDebugString输出的字符串)
http://download.csdn.net/detail/zswang/207199
- qtextedit中的光标问题(通过调用repaint去掉Focus的阴影)
[问题]两个textedit,取名为view0,view1.实现view0输入固定的字符个数后,用setFocus切换聚焦到view1,但是切换完了之后view0还会保留光标残影,出现两个文本框中都有 ...
- 浅析 C++ 调用 Python 模块
浅析 C++ 调用 Python 模块 作为一种胶水语言,Python 能够很容易地调用 C . C++ 等语言,也能够通过其他语言调用 Python 的模块. Python 提供了 C++ 库,使得 ...
- 请你讲一讲JavaScript有哪些数据类型, 数据类型判断有哪些方法?
js的8种数据类型 JavaScript中有8种数据类型, 包括基本数据类型(number, string, boolean, null, undefined, symbol, bigint)和引用数 ...
- 3017C语言_文件
第七章 文件 7.1 C语言文件的概念 7.1.1 文件的概念 在此之前,所有的输入和输出只涉及到键盘和显示器.在运行C程序时,我们通过键盘输入数据并借助显示器把程序的运算结果显示出来.但是,计算 ...
- Kafka —— 基于 ZooKeeper 搭建 Kafka 高可用集群
一.Zookeeper集群搭建 为保证集群高可用,Zookeeper集群的节点数最好是奇数,最少有三个节点,所以这里搭建一个三个节点的集群. 1.1 下载 & 解压 下载对应版本Zookeep ...