1.git简介

1.1 产生历史

git是目前世界上最先进的分布式版本控制系统。
Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。
1.2 git的两大特点
版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。
分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。
2.安装与配置
(1)安装命令如下:

 sudo apt-get install git


(2)安装成功后,运行如下命令:

git


3.创建一个版本库
(1)新建一个目录git_test,在git_test目录下创建一个版本库,命令如下:

 git init


可以看到在git_test目录下创建了一个.git隐藏目录,这就是版本库目录。
下期见: 版本创建与回退

git 进阶教程 一相关推荐

  1. git进阶 | 01 - git基础操作进阶

    引言 上次写git入门教程还是2019年(Git & Github学习总结),三年期间使用最多的命令不过三条: git add -A git commit -m "" gi ...

  2. STM32 进阶教程 1 - micropython 移植

    前言 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.具有如下特点: 1.易于学习:Python有相 ...

  3. Hexo Next主题进阶教程

    注意点: 下面的教程,每个教程点都是用水平线分割,防止混乱 教程针对NexT主题设置,此教程为进阶教程,基础配置主题的教程可以查阅相关资料,以下改变的效果可以到此博客预览 当前所在菜单下划线显示 效果 ...

  4. Git系列(一)、Git基础教程【建议收藏】

    Git基础教程 一.Git简介 1.1.什么是Git? 1.2.Git的特点 1.3.集中式与分布式的区别? 1.4.什么是版本控制系统? 1.5.Git下载安装 1.5.Git配置 1.6.Git ...

  5. Django进阶教程

    Django进阶教程 Queryset特性及高级查询技巧 什么是QuerySet QuerySet是Django提供的强大的数据库接口(API).正是因为通过它,我们可以使用filter, exclu ...

  6. [转] Git使用教程 -- 新手向

    Git使用教程 Published on Feb 26, 2017 in Tutorials with 8 comments 教程 Git Github 是的,这跟上一篇文章一样同是新手向教程,主要记 ...

  7. 《C语言程序设计进阶教程》一导读

    前 言 为什么要写这本书 本文讲的是C语言程序设计进阶教程一导读,市面上有成百上千种关于编程的书籍,其中有很多都是关于C语言编程的,那么为什么我还要写这本书呢?为什么建议你花时间读它呢?这本书跟其他书 ...

  8. Fabric2.0部署学习进阶教程系列博文

    Fabric2.0部署学习系列文章目录 1.<在本机上安装VMWare详细图文过程> https://blog.csdn.net/weixin_44750512/article/detai ...

  9. 如何团队协作,代码托管?Git使用教程:最详细、最浅显、一文读懂Git常用操作!...

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 作者:涂根华 来源:www.cnblogs.com/tugenhua0707 Git使 ...

最新文章

  1. poj1050 To the Max
  2. windows2019安装mysql 5.7
  3. JavaScript中对于函数的形参实参个数匹配是如何做的?
  4. Django 创建超级用户
  5. Android 换肤功能的实现(Apk插件方式)
  6. PHP发送邮件,解决乱码
  7. windows无法格式化u盘_windows无法完成格式化怎么办
  8. 机器学习 python 随机抽样random sampling 代码
  9. HDU 6051 If the starlight never fade(原根+推式子)
  10. VLAN划分(华为)
  11. 卡诺模型案例分析_需求分析神器 | 如何用卡诺模型分析需求
  12. Android各控件绚丽Dome下载
  13. 广播与点播、单播与组播
  14. c语言flappy bird,c语言版本flappy bird
  15. linux yum安装scp,CentOS安装scp命令的软件包openssh-clients
  16. 【案例分析-初探】美国有多少家加油站?
  17. SAP MM 根据采购订单反查采购申请?
  18. 续 winform 打包-集合dotnetfx文件夹到一个exe
  19. 手工编程铣加工视频教程 铣代码讲解
  20. Go分享好的github插件和项目

热门文章

  1. linux下firefox安装Adobe Flash Player插件
  2. 使安卓手机支持ipv6的终极解决方法
  3. 有了这篇文章, Python 中的编码不再是噩梦
  4. Dubbo是什么?Dubbo干什么?Dubbo怎么用?
  5. 并发编程JUC系列及部分问题
  6. 外卖CPS公众号分销裂变小程序搭建和培训(附源代码和0基础搭建教程)
  7. 小学一年级计算机社团计划,一年级2班写字社团活动计划
  8. Three.js初窥
  9. 【小程序】小程序中使用阿里图标库
  10. 超级计算机玩游戏快吗,新超级计算机将比世界上运行速度最快的超级计算机快25%...