git和gitee(一)

文章目录

  • 前言
    • 自学B站IT黑马的git的笔记总结
  • 一、git是什么?
    • 1.1让我们先体会一下下面四个场景该怎么办
    • 1.2版本控制器
    • 1.3git到底是什么
    • 1.4git的工作流程图
  • 总结


前言

自学B站IT黑马的git的笔记总结

一、git是什么?

1.1让我们先体会一下下面四个场景该怎么办

场景一:备份

  • 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流。

场景二:代码还原

  • 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?

场景三:协同开发

  • 小刚和小强先后从文件服务器上下载了同一个文件:Analysis.java。小刚在Analysis.java 文件中的第30行声明了一个方法,叫count(),先保存到了文件服务器上;小强在Analysis.java文件中的第50行声明了一个方法,叫sum(),也随后保存到了文件服务器上,于是,count()方法就只存在于小刚的记忆中了

场景四:追溯问题代码的编写人和编写时间!

  • 老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!就拿这次来说吧,有个Bug调试了30多个小时才知道是因为相关属性没有在应用初始化时赋值!可是二胖、王东、刘流和正经牛都不承认是自己干的!

在以上的四种场景中我们明显是需要一个工具来帮助我们的,而做到这些功能的就是我们的git!*

1.2版本控制器

从上述的场景中我们应该对git能做的事和到底是用来干嘛的有了个大致的了解,但是在正式了解git之前我们还需要有一点点小小的基础,那就是版本控制器的概念?

版本控制器的方式
a、集中式版本控制工具
集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。
举例:SVN和CVS
git和gitee(一)_第1张图片

b、分布式版本控制工具
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。
举例:Git

git和gitee(一)_第2张图片

1.3git到底是什么

相信大家看完了前面的部分就已经对git有基本的认知了,而git到底是什么呢,让我们一起来看一看~

Git是分布式的,Git不需要有中心服务器,我们每台电脑拥有的东西都是一样的。

我们使用Git并且有个中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的PC是一样的。

我们可以把它当做一个开发者的pc就可以就是为了大家代码容易交流不关机用的。没有它大家一样可以工作,只不过“交换”修改不方便而已。

git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git是 LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

同生活中的许多伟大事物一样,Git诞生于一个极富纷争大举创新的年代。Linux内核开源项目有着为数众多的参与者。绝大多数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。
到2002年,整个项目组开始启用一个专有的分布式版本控制系统BitKeeper来管理和维护代码。

到了2005年,开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束,他们收回了Linux内核社区免费使用BitKeeper的权力。

这就迫使Linux开源社区(特别是Linux的缔造者LinusTorvalds)基于使用BitKeeper时的经验教训,开发出自己的版本系统。他们对新的系统制订了若干目标:
速度
简单的设计
对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
完全分布式
有能力高效管理类似Linux内核一样的超大规模项目(速度和数据量)

1.4git的工作流程图

git和gitee(一)_第3张图片
或许你现在看这个流程图是一脸懵逼,但是没关系,我刚学的时候也懵逼,没关系,我们先把图放在这里,等我们都学完之后回来看,你会发现非常清晰!!!

总结

总结:本文只是对git有一个初步的概念引入,接下来会更新git的下载与安装配置
例如:以上就是今天要讲的内容,本文仅仅简单介绍了git,而git还有很多的指令和配置我会随着我学习逐渐的深入陆续更新

你可能感兴趣的:(开发工具,git)