Git:简介、诞生、集中式分布式、安装、创建版本库

来源:互联网 发布:二手貂皮大衣淘宝网 编辑:程序博客网 时间:2024/06/15 16:10

因为经常去逛github。。看到有些人经常会把自己的项目、平常的代码都推送上去。。然后觉得自己也应该养成这种习惯,代码只放在电脑里也的确不方便。。以后做项目的话也会用到git的,所以就打算用这几天学一下,借了一本书《Git版本控制管理》,奈何因为没有一点基础所以感觉特别深奥有些看不懂,所以先准备看一下廖雪峰的Git教程,以后看需要再学更深层次的吧。。

一:简介

Git,目前世界上最先进的分布式版本控制系统(分布的话,后面讲~)

所以,什么是版本控制系统呢?

在网上看过一个段子,是说毕业生在写毕业论文时,经常会改了又改,快上交的时候一个文件夹里往往存着《毕业论文》《毕业论文改版》《毕业论文最终版》《毕业论文最最终版》《毕业论文再也不改版》。。。。在写这个论文的时候,我们修改了一些,保存了,后来又想回到修改之前的样子了,却发现已经忘了哪里改过哪里没改过了。。

而且,如果你找了一个朋友帮你改论文,同时你也在改,改来改去你们俩的已经完全融合不到一起怎么办?是不是很麻烦?所以,我们需要一个软件,它可以记录下每次文件的改动,还可以让你和朋友一起修改,这样,岂不是很方便?

雪峰老师做了如下例子:
这样的话是不是很方便?想看每次改动的话看一眼就行。。

这样~版本控制系统就来解救你啦~

关于版本控制的优点在以后的学习中会更加清晰。

二:Git的诞生

看廖雪峰教程这一块的时候简直给Linus献上膝盖啊。。

Linus创建了Linux,后来世界各地的志愿者参与开发,在世界各地为linux编写代码,所以代码的管理是个很大的问题,所以Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。

后来啊,重点就来了,开发Samba的Andrew试图破解BitKeeper的协议,被BitMover公司发现了,于是BitMover公司怒了,要收回Linux社区的免费使用权。

然后,Linus花了两周时间自己用C写了一个分布式版本控制系统,就是Git。。我想说,真的好厉害。。

三:集中式和分布式

其实当时还有其他的版本控制系统比如说CVS、SVN,但他们都是集中式版本控制系统,而Linus所写的Git则是一个分布式版本控制系统,那么,这两者又有什么区别呢?

集中式版本控制系统有一个单一的集中管理的服务器,保存所有文件的修订版本,而所有的工作人员都通过各自的客户端连接到这台服务器,取出最新的文件或者提交更新。

在分布式版本控制系统中,客户端并不是只提取最新版本文件的快照,而是把代码仓库完整的镜像下来,这样的话,任何一处工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。其实,每一次提取操作都是一次对代码仓库的完整备份。

四:安装

我是在rhel7里安装的。


一个命令就ok了。

yum install git -y




这样就可以了。

五:创建版本库

版本库(repository),这就相当于一个仓库,我们可以通过git管理这个目录里的所有文件,记录每个文件的创建,修改,删除。


首先,我们先来创建一个目录

[tonglele@localhost ~]$ mkdir gitrepo[tonglele@localhost ~]$ cd gitrepo/[tonglele@localhost gitrepo]$ ls[tonglele@localhost gitrepo]$ pwd/home/tonglele/gitrepo

然后,通过 git init把这个目录初始化为git可以管理的仓库

[tonglele@localhost gitrepo]$ git initInitialized empty Git repository in /home/tonglele/gitrepo/.git/


此时,一个空的版本库就创建好了,我们可以看到这个目录下多出了一个.git目录,这里面就是git为这个版本库所建立的一系列记录文件,一般不要修改。

[tonglele@localhost gitrepo]$ ls -a.  ..  .git[tonglele@localhost gitrepo]$ cd .git[tonglele@localhost .git]$ lsbranches  config  description  HEAD  hooks  info  objects  refs





感谢阅读,欢迎指正。




0 1
原创粉丝点击