一、系统环境准备
root@git-git~]# cat /etc/redhat-release #查看系统版本
CentOS Linux release 7.1.1503 (Core)
[root@git-git ~]# uname -r #查看内核版本
3.10.0-229.el7.x86_64
[root@git-git ~]# getenforce #确认Selinux关闭状态
Disabled
[root@git-git ~]# systemctl stop firewalld #关闭防火墙
二、git安装部署
[root@git-git ~]# yum install git
# 安装Git
[root@git ~]# git config
--global 使用全局配置文件
--system 使用系统级配置文件
--local 使用版本库级配置文件
[root@git-git ~]# git config –-global user.name “lizhenya”
# 配置git使用用户
[root@git-git ~]# git config –-global user.email “lizhenya@mail.com”
# 配置git使用邮箱
[root@git-git ~]# git config –-global color.ui true
# 语法高亮
[root@git-git ~]# git config –-list
user.name=oldboy
user.email=oldboy@mail.com
color.ui=true
[root@git ~]# cat .gitconfig
[user]
name = lizhenya
email = lizhenya@qq.com
[color]
ui = true
三、git初始化
初始化工作目录、对已存在的目录或者对已存在的目录都可进行初始化
mkdir git_data
cd git_data/
# 初始化
git init
# 查看工作区状态
git status
隐藏文件介绍:
branches # 分支目录
config # 定义项目特有的配置选项
description # 仅供git web程序使用
HEAD # 指示当前的分支
hooks # 包含git钩子文件
info # 包含一个全局排除文件(exclude文件)
objects # 存放所有数据内容,有info和pack两个子文件夹
refs # 存放指向数据(分支)的提交对象的指针
index # 保存暂存区信息,在执行git init的时候,这个文件还没有
四、git常规使用
01. 创建数据-提交数据
02. git四种状态
03.git基础命令
1)git init #初始化目录
2)git status #查看仓库状态
3)git add file #将文件添加到暂存目录
4)git rm file #删除暂存区的文件
5)git commit -m "描述" #将暂存区文件提交到本地仓库
6)git checkout -- file #将暂存区的文件覆盖到工作目录
#提交新的代码或者删除都必须执行git commit上传到本地仓库
7)git mv file newfile #改名
8)git diff #比对,比对的是工作目录和暂存目录的不通
9)git diff --cached #比较的是暂存区和本地仓库的不同
10)git log #查看日志
11)git log --oneline #一行查看日志
--decorate #携带指针(指向当前所在版本)
12)git show 版本号 #查看某个版本的详细信息
13)git reset --hard 版本号 #回滚到某个版本
14)gie reflog #查看所有日志
15)git branch 分支名 #创建新的分支
16)git branch #查看当前所有分支
17)git checkout 分支名 #切换分支
18)git merge 分支名 #合并分支(需要提前切换到master分支下)
19)git branch -d 分支名 #删除分支
五、git分支
1)git branch 分支名 #创建新的分支
git barnch -b 分支名 #创建并切换分支
2)git branch #查看当前所有分支
3)git checkout 分支名 #切换分支
4)git merge 分支名 #合并分支(需要提前切换到master分支下)
5)git branch -d 分支名 #删除分支
##分支合并失败
[root@test git_data]# git merge testing
Auto-merging 1.txt
CONFLICT (content): Merge conflict in 1.txt
Automatic merge failed; fix conflicts and then commit the result.
master分支和testing分支某行代码出现冲突,导致合并失败,修改冲突的代码即可恢复
六、git标签
git tag -a 标签名 -m "描述" #给当前版本打tag
git tag -a 标签名 版本号 -m "描述" #给指定版本打tag
git reset --hard 1.2 #回到指定tag版本
git show v1.1 #查看指定tag详细信息
git tag -d v1.1 #删除指定tag