Git:简介、诞生、集中式分布式、安装、创建版本库
2016-09-22 19:59
441 查看
因为经常去逛github。。看到有些人经常会把自己的项目、平常的代码都推送上去。。然后觉得自己也应该养成这种习惯,代码只放在电脑里也的确不方便。。以后做项目的话也会用到git的,所以就打算用这几天学一下,借了一本书《Git版本控制管理》,奈何因为没有一点基础所以感觉特别深奥有些看不懂,所以先准备看一下廖雪峰的Git教程,以后看需要再学更深层次的吧。。
所以,什么是版本控制系统呢?
在网上看过一个段子,是说毕业生在写毕业论文时,经常会改了又改,快上交的时候一个文件夹里往往存着《毕业论文》《毕业论文改版》《毕业论文最终版》《毕业论文最最终版》《毕业论文再也不改版》。。。。在写这个论文的时候,我们修改了一些,保存了,后来又想回到修改之前的样子了,却发现已经忘了哪里改过哪里没改过了。。
而且,如果你找了一个朋友帮你改论文,同时你也在改,改来改去你们俩的已经完全融合不到一起怎么办?是不是很麻烦?所以,我们需要一个软件,它可以记录下每次文件的改动,还可以让你和朋友一起修改,这样,岂不是很方便?
雪峰老师做了如下例子:
这样的话是不是很方便?想看每次改动的话看一眼就行。。
这样~版本控制系统就来解救你啦~
关于版本控制的优点在以后的学习中会更加清晰。
Linus创建了Linux,后来世界各地的志愿者参与开发,在世界各地为linux编写代码,所以代码的管理是个很大的问题,所以Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
后来啊,重点就来了,开发Samba的Andrew试图破解BitKeeper的协议,被BitMover公司发现了,于是BitMover公司怒了,要收回Linux社区的免费使用权。
然后,Linus花了两周时间自己用C写了一个分布式版本控制系统,就是Git。。我想说,真的好厉害。。
集中式版本控制系统有一个单一的集中管理的服务器,保存所有文件的修订版本,而所有的工作人员都通过各自的客户端连接到这台服务器,取出最新的文件或者提交更新。
在分布式版本控制系统中,客户端并不是只提取最新版本文件的快照,而是把代码仓库完整的镜像下来,这样的话,任何一处工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。其实,每一次提取操作都是一次对代码仓库的完整备份。
一个命令就ok了。
yum install git -y
这样就可以了。
首先,我们先来创建一个目录
[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 init
Initialized empty Git repository in /home/tonglele/gitrepo/.git/
此时,一个空的版本库就创建好了,我们可以看到这个目录下多出了一个.git目录,这里面就是git为这个版本库所建立的一系列记录文件,一般不要修改。
[tonglele@localhost gitrepo]$ ls -a
. .. .git
[tonglele@localhost gitrepo]$ cd .git
[tonglele@localhost .git]$ ls
branches config description HEAD hooks info objects refs
感谢阅读,欢迎指正。
一:简介
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 init
Initialized empty Git repository in /home/tonglele/gitrepo/.git/
此时,一个空的版本库就创建好了,我们可以看到这个目录下多出了一个.git目录,这里面就是git为这个版本库所建立的一系列记录文件,一般不要修改。
[tonglele@localhost gitrepo]$ ls -a
. .. .git
[tonglele@localhost gitrepo]$ cd .git
[tonglele@localhost .git]$ ls
branches config description HEAD hooks info objects refs
感谢阅读,欢迎指正。
相关文章推荐
- Git学习笔记(一)---安装与创建版本库
- Git学习笔记之安装git与创建版本库
- 安装Git 创建版本库
- Git 分布式版本控制系统(一)---git for linux简介和安装
- Git学习之路(2)-安装GIt和创建版本库
- 1.git安装及创建版本库,git init,git add,git commit
- Git学习之路(2)-安装GIt和创建版本库
- Git安装及创建版本库
- GIT 简介 --集中式分布式
- windows环境下安装git、创建版本库
- 安装git和创建版本库
- Git快速入门——Git安装、创建版本库以及常用命令
- Git版本控制工具的浅谈(一)Git的安装及创建版本库
- Git 的安装和创建版本库 。
- Git简介、安装及创建版本库
- Git学习之路(2)-安装GIt和创建版本库
- 安装 git,并创建版本库 记录一下
- Git版本控制工具(一)----git的安装及创建版本库
- GIT 安装、创建版本库
- GIT 学习一 (安装和创建版本库)