Git工具
什么是Git?
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目Git的功能特性
**从开发者的角度来看,git的功能:** - 从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上 - 在自己的机器上根据不同的开发目的,创建分支,修改代码 - 在单机上自己创建的分支上提交代码 - 在单机上合并分支 - 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。 - 生成补丁(patch),把补丁发送给主开发者 - 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过 - 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁从不是开发者的角度看,git的功能:
- 查看邮件或者通过其它方式查看一般开发者的提交状态
- 打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)
- 向公共服务器提交结果,然后通知所有开发人员
一、Git工作流程
Git的工作流程如下图所示:

工作流程也就是开发把写的代码进行一系列操作提交到远程仓库的过程
工作区: 就是你在电脑里能看到的目录
暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
版本库: 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库
二、Git的安装
Linux下各平台Git安装包下载地址:http://git-scm.com/downloads
Windows平台Git安装包下载地址:https://gitforwindows.org/
Mac平台图形化Git安装包下载地址:http://sourceforge.net/projects/git-osx-installer/
在Linux平台下,Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具
Debian/Ubuntu
apt安装
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
apt-get install git
源码安装
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
tar -zxf git-1.7.2.2.tar.gz
cd git-1.7.2.2
make prefix=/usr/local all
make prefix=/usr/local install
Centos/RedHat
yum安装
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum -y install git-core
源码安装
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
tar -zxf git-1.7.2.2.tar.gz
cd git-1.7.2.2
make prefix=/usr/local all
make prefix=/usr/local install
三、Git命令操作
1.创建命令
#初始化仓库
git init
#拷贝一份远程仓库项目
git clone
2.提交与修改
#添加文件到暂存区
git add
#查看仓库当前状态
git status
#比较暂存区和工作区文件的不同
git diff
#提交暂存区文件到本地仓库
git commit
#回退版本
git reset
#删除暂存区和工作区文件
git rm
#移动或重命名工作区文件
git mv
3.提交日志
#查看历史提交记录
git log
#列表形式查看指定文件的历史修改记录
git blame file_name
4.远程操作
#远程仓库操作
git remote
#从远程获取代码库
git fetch
#拉取代码并合并
git pull
#上传代码到远程并合并
git push
5.分支管理
#创建分支,如果没有参数则查看
git branch
#切换分支,当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容
git checkout
#合并分支
git merge
#查看本地所有分支
git branch
#删除分支
git branch -d
四、创建仓库和远程提交
实例地址为192.168.31.101
创建仓库
mkdir /git && cd /git
git init --bare gittest.git
可以使用git clone命令拉取代码,如下所示:
git clone git@192.168.31.101:/git/gittest.git
提交代码
#1.初始化本地仓库
git init
#2.配置用户名
git config --global user.name "admin"
#3.配置email邮件信息
git config --global user.email "admin@example.com"
#4.添加文件到暂存区
git add .
#5.提交项目到本地仓库
git commit -m "提交信息"
#6.与远程仓库关联
git remote add origin git@192.168.31.101:/git/gittest.git
#7.将项目推送到远程仓库
git push -u origin master