一文带你了解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不仅再一次印证了科学技术是第一生产力还给不少用户带来了迷茫——我们为什么 ...
随机推荐
- css的双飞翼布局
双飞翼布局的大概意思就是左右两边的内容是固定的,大小是固定的, 而中间的布局的随着页面的大小变化而自动变化的. 通过代码来解析: 1.四个div,也可以使用section,其中main,left.ri ...
- Creating a Linux Daemon (service) in Delphi
With the introduction of the Linux target for Delphi, a wide range of possibilities are opened up to ...
- Android卡片设置透明度失效问题
最近在做蓝牙电话项目,需要支持双路通话,涉及到通话卡片透明度调节,当正在通话中,有新的来电时,原来的通话卡片需要做成30%的透明度,本来很简单的一个小改进,但通过 setAlpha()接口总是失效! ...
- 支付宝RSA签名之Delphi实现
Delphi有个很大的问题就是,厂商的不作为(没有封装标准的Cipher类库),让大家自己造轮子. 今天的轮子就是RSA签名,由于Delphi没有封装Cipher类库,所以只的自己写了. 因为要在Fi ...
- QtStaticBuildScript(会有这么容易)
https://github.com/dankrusi/QtStaticBuildScript
- 《C++ Primer》读书笔记 第一章
读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...
- pytorch实现yolov3(1) yolov3基本原理
理解一个算法最好的就是实现它,对深度学习也一样,准备跟着https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-p ...
- 通过OSG实现对模型的日照模拟
目录 1. 加载模型 2. 光照 1) 环境反射 2) 漫反射 3) 日照方向 (1) 太阳高度角和太阳方位角 (2) 计算过程 4) 改进实现 3. 阴影 4. 太阳高度角与太阳方位角的计算 1) ...
- 系列教程 之 Android开发之旅
工作室持续推出Android开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢Android的朋友们学习进步: 1. Android开发之旅(1) 之 Android 开发环境搭建 代码之间工作 ...
- JSON对象和JavaScript对象直接量的区别--不同之处
JSON对象和JS对象直接量 在工作当中,我们总是可以听到人说将数据转换为JSON对象,或者说把JSON对象转换为字符串之类的话,下面是关于JSON的具体说明. JSON对象并不是JavaScript ...