Git,开源的分布式版本控制系统
Git是目前世界上最先进的开源分布式版本控制系统,何为分布式版本控制系统?
假设一下,你现在在编写一个稿纸,然后平时写文档不管是增删改都会另存为一个新的文件,但是就会出现一种这样子地情况就是,如果想找回上一次编写地文档地内容咋办呢?这么多相同地文件,应该如何去找出这一个上次编写地呢?这么一想,确实麻烦了,有人想到可以根据时间去找,但是一个个去找不麻烦么?再有一种情况就是如果有一个多人编辑地文档,那么如何去追踪谁修改了什么内容呢?
所以,Git就可以解决这种问题
Git的诞生
大家都知道,1991年,Linux之父linus创建了Linux,但是Linux发展到如今的现状,也不是linus一个人的功劳,而是成千上万的开发者的功劳,2002年以前,来自世界各地的大佬们都是通过diff的方式将修改后的Linux源文件发给linus,然后linus通过手工去合成,这么想想看,得多累,其实但是已经有了一个叫做集中式版本控制系统的出现了,比如说SVN,但是这些集中式版本控制系统有几项缺陷,比如说速度慢,然后还需要联网才能使用,还有一些需要付费才能使用的版本控制系统,但是光付费两个字,就和Linux的开源精神不符合了,直到后来,Linux的代码库已经大到已经很难通过linus去手工合成了,于是linus就选择了和某个商业的版本控制系统合作,授权了免费的使用权给linus,起初好好的,但是好景不长,因为有人尝试去破解这个版本控制系统,给发现了,于是免费使用的权限就别被收回去了
再后来,linus就用C语言开发出了一个免费的,开源的版本控制系统,也就是Git,Git的出世,Linux的代码也由Git管理,再后来,Git大火起来了,再再后来,Github的出现,不仅开源还提供Git仓库,于是...无数的开源项目开始迁移入GitHub中
Github:GitHub: Where the world builds software · GitHub
码云(Gitee):Gitee - 基于 Git 的代码托管和研发协作平台
暂存区和工作区
简单来说:
暂存区(stage/index)就是暂时放文件的地方,工作区就是可见的文件夹,在初始化了一个仓库后,目录下会生成一个.git的隐藏文件夹
初次提交文件是提交到暂存区中,然后再从暂存区提交到工作区
注:部分图片源自于网络,如有侵权,请联系删除!!!谢谢