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

  1. 一文带你走遍Git世界,教会你Git的使用

    @ 目录 这篇文章教会Git 1. Git是什么? 1.1 发展历程 1.2 Git是什么? 1.3 Git和SVN 2.Git有什么用? 2.1 代码合并 2.2 代码备份 2.3 代码还原 2.4 ...

  2. 一文带你了解elasticsearch

    一文带你了解elasticsearch cxf2102100人评论160人阅读2019-07-02 21:31:36   elasticsearch es基本概念 es术语介绍 文档Document ...

  3. 小丁带你走进git的世界三-撤销修改

    一.撤销指令 git checkout还原工作区的功能 git reset  还原暂存区的功能 git clean  还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...

  4. 小丁带你走进git的世界二-工作区暂存区分支

    小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git  init git  clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 ...

  5. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  6. 小丁带你走进git的世界三-撤销修改(转)

    一.撤销指令 git checkout还原工作区的功能 git reset  还原暂存区的功能 git clean  还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...

  7. 版本管理工具Git(1)带你认识git

    简介 本篇将带领大家认识,git.github,让大家对git有基本的认识:下面将持续更新几篇文章来介绍git,见git导航: 下一篇中将讲解git的安装及使用: Git系列导航 版本管理工具Git( ...

  8. Istio是啥?一文带你彻底了解!

    原标题:Istio是啥?一文带你彻底了解! " 如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 Istio,并且知道它和 Service Mesh 有着牵扯. 这篇文章可以作为了解 ...

  9. 一文带您了解5G的价值与应用

    一文带您了解5G的价值与应用 5G最有趣的一点是:大多数产品都是先有明确应用场景而后千呼万唤始出来.而5G则不同,即将到来的5G不仅再一次印证了科学技术是第一生产力还给不少用户带来了迷茫——我们为什么 ...

随机推荐

  1. win10不用密码直接登陆设置

    点击开始菜单里的[运行],然后输入control userpasswords2 或者 netplwiz ,然后点击确定,如下图所示. 点击后,在用户帐户对话框里可以看到“要使用本计算机,用户必须输入用 ...

  2. 深度网络中的Tricks

    数据增强(Data augmentation) 预处理(Pre-processing) 初始化(Initializations) 训练中的Tricks 激活函数(Activation function ...

  3. 从Java和JavaScript来学习Haskell和Groovy

    直击现场 记得刚接触计算机的时候,我就受到了两个非常巨大的错误观念的影响,这个观念最初是来自于老师的传授还是学长的教诲已经记不清了,但是直到我工作几年以后,才慢慢有了实际的体会: 学习和使用什么编程语 ...

  4. WPF全局异常捕获

    跟着<WPF专业编程开发指南>这书打的代码的,自己在正式项目中测试通过,可以抓取到全局的异常,用的log4net来记录日志 核心代码: 写在App.xaml.cs中 /// <sum ...

  5. 条款10:令operator= 返回一个reference to *this

    关于赋值,可以写成连锁形式: int x, y, z; x = y = z = 15; //赋值连锁形式 赋值采用右结合律,故上述赋值被解析为: x = (y = (z = 15)); 为了实现连锁赋 ...

  6. 【spring boot】application.properties官方完整文档

    官方地址: https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ 进入搜索: Appendice ...

  7. API 文档管理工具 (Yapi) Docker Compose部署指南

    前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 权限管理 YApi 成熟的团队管理扁平化项目权限配置满足各类企 ...

  8. Linux实战型企业运维工程师试题

    1.如何通过Linux配置一个局域网或者IDC机房上网网关,请给出步骤及命令?答:上网网关配置(1)开启内核转发:sed -i 's#net.ipv4.ip_forward = 0#net.ipv4. ...

  9. 关于学习js的Promise的心得体会

    最近一直在研究js的Promise对象,其中有一篇blog写得比较通俗易懂,转发如下: http://www.cnblogs.com/lvdabao/p/es6-promise-1.html 参照上面 ...

  10. RocketMQ 可视化环境搭建和基础代码使用

    RocketMQ 是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在 2016 年底捐赠给 Apache 开源基金会成为孵化项目,经过不 ...