一文带你了解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不仅再一次印证了科学技术是第一生产力还给不少用户带来了迷茫——我们为什么 ...
随机推荐
- asp.net处理请求
当用户通过客户端浏览器向Web服务器发出请求时,Web服务器检查所请求页的扩展名, 如果是aspx,就会启动ASP.NET引擎处理该请求.ASP.NET引擎首先会检查输出缓冲中, 是否有此页面或此页面 ...
- Easy Compression Library(代替TFileStream, TMemoryStream and TStream)
Easy Compression Library is a very easy-to-use replacement of TFileStream, TMemoryStream and other T ...
- 使用dumpbin命令查看dll导出函数及重定向输出到文件(VS自带)
以前查看dll导出函数,一般使用Viewdll等第三方工具.但由于Viewdll采用dephi编写,因此仅能查看32位的dll.其实微软已经帮我们提供一个查看dll导出函数的命令,嵌在VS开发环境中, ...
- 05-MySQL的完整性约束
1.整体说明(1)讨论重点内容 not null 与default unique:表中该值唯一,不能有重复值 primary auto_increment foreign ...
- 老雷socket编程之认识常用协议
老雷socket编程之常见网络协议 1.ip IP协议是将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称之为数据包的东西, 它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求. ...
- laravel-admin(自定义表单与验证)
场景: 很多时候,由于我们业务场景比较特殊,需要自定义表单,然后框架给我提供了对应表单组建! 案列:以创建一个字段为列 1.在控制器对应的方法中调用表单组建创建表单 public function c ...
- Ember报错
错误是ember-data的版本不对 解决办法是: npm install --save ember-data@2.14.2 //bing.com中去查资料,应有尽有
- Apicloud 接入海康摄像头
1准备工作 , 加载apicloud 海康视频模块. 引入 SDK 重新生成项目测试 再config.xml写入appid 话不多说直接上代码 video=api.require("haik ...
- Redis 学习笔记(篇四):整数集合和压缩列表
整数集合 Redis 中当一个集合(set)中只包含整数,并且元素不多时,底层使用整数集合实现,否则使用字典实现. 那么: 为什么会出现整数集合呢?都使用字典存储不行吗? 整数集合在 Redis 中的 ...
- 01-Javascript基础
一. JS介绍 JavaScript是前台语言 JavaScript是前台语言,而不是后台语言. JavaScript运行在用户的终端网页上,而不是服务器上,所以我们称为“前台语言”. JavaScr ...