Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,能够有效、高速的处理从很小到很是大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。git
Git是分布式版本控制系统,那么它就没有中央服务器的,每一个人的电脑就是一个完整的版本库,因此,工做的时候就不须要联网了,由于版本库都是在本身的电脑 上。如今每一个人的电脑都有一个完整的版本库,那多我的如何协做呢?好比说本身在电脑上改了文件A,其余人也在电脑上改了文件A,这时,大家两之间只需把各自的修改推送给对方,就能够互相看到对方的修改了。数据库
主要有以下特色:服务器
1. 版本控制分布式
2. 分布式svn
3. 工做过程是将服务器上的代码下载到本地,本地开发完成后,在提交到服务器端spa
git相比于svn功能更加的强大,命令也不少。本篇博客将详细介绍一些经常使用命令的使用操做。3d
Git和SVN的对比版本控制
1.git是分布式的,svn是集中式的。(最核心)code
2.git是每一个历史版本都存储完整的文件,便于恢复,svn是存储差别文件,历史版本不可恢复。(核心)对象
3.git可离线完成大部分操做,svn则不能。
4.git有着更优雅的分支和合并实现。
5.git有着更强的撤销修改和修改历史版本的能力
6.git速度更快,效率更高。
基于以上区别,git有了很明显的优点,特别在于它具备的本地仓库。
Git几个概念
一. 工做目录
工做目录是对项目的某个版本独立提取出来的内容。这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
二. 暂存区域
是一个文件,保存了下次将提交的文件列表信息,通常在 Git 仓库目录中。有时候也被称做`‘索引’’,不过通常说法仍是叫暂存区域。
三. Git 仓库目录
是Git 用来保存项目的元数据和对象数据库的地方。这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
基本的 Git 工做流程以下:
在工做目录中修改文件 > 暂存文件,将文件的快照放入暂存区域 > 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
若是 Git 目录中保存着的特定版本文件,就属于已提交状态。若是做了修改并已放入暂存区域,就属于已暂存状态。若是自上次取出后,做了修改但尚未放到暂存区域,就是已修改状态。
1>下载安装
yum install git -y
2>git 经常使用选项
git add: 添加文件至暂存区域
git branch: 查看分支和建立分支
git checkout: 进行撤销也能够进行分支切换
git clone: 克隆远程主机仓库
git commit: 把暂存区域的文件提交至仓库中
git init: 初始化目录(工做目录)
git merge: 合并分支
git pull: 拉取远程主机的仓库
git push: 把本地仓库推送到远程主机
git reset: 撤销操做
git status: 查看git目录中文件状态
3>git 基本操做
&1> 建立目录
&2> 初始化目录为工做目录
git init
初始化完成后会生成一个隐藏文件 .git
&3>建立文件并提交到暂存区域
touch test
git add test 或 git add . ( . 表明当前目录全部的文件 )
&4>提交
1#验证一下
2# 提交
&5>查看 已提交的版本
&6>写入内容至test文件并提交
1#
echo ‘123’ >> test
2# 提交至暂存区
git add test
3# > 提交并查看
会发现两个不一样的版本
&7>回滚到v1 版本
4>撤销 回滚
&1撤销工做区的文件
1#查看当前文件状态
2#编辑文件并查看文本状态
3# 撤销工做区并查看状态
git checkout -- test
git status
&2撤销暂存区的文件
#1查看状态
#2编辑文件并查看状态
#3提交至暂存区并查看状态
#4回撤到工做区并查看状态
#5撤销工做区的文件并查看状态
&3 回滚到任意版本
#1 提交多个版本并查看全部版本
#2 从 v3 版本 回滚 到 v1版本 并查看
#3 回滚到 v2 版本 并查看
注:
1.log
log命令能够显示全部提交过的版本信息
2.reflog
若是在回退之后又想再次回到以前的版本,git reflog 能够查看全部分支的全部操做记录(包括commit和reset的操做),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录
5>分支 (查看、建立、切换)
&1 查看分支
注 : 至少有一个版本被提交,才会有分支概念
例如:
#1
#2
&2 建立分支
&切换分支
6>分支使用
1& 切换分支至lia
2&编辑test 文件并进行提交
3&切换至主分支
4&查看文本test
5&分支合并
git merge 分支名
6&查看