Centos7 安装Git
- 一、安装步骤
-
- [1.1 查看版本](#1.1 查看版本)
- [1.2 卸载](#1.2 卸载)
- [1.3 安装](#1.3 安装)
- 二、创建仓库
-
- [2.1 新增仓库](#2.1 新增仓库)
- [2.2 新增配置项](#2.2 新增配置项)
- 三、管理文件
-
- [3.1 文件创建](#3.1 文件创建)
- [3.2 文件修改、add、commit](#3.2 文件修改、add、commit)
- [3.3 tree结构探索](#3.3 tree结构探索)
- 四、分支
-
- [4.1 创建分支:](#4.1 创建分支:)
- [4.2 查看分支](#4.2 查看分支)
- [4.3 切换分支](#4.3 切换分支)
- [4.4 删除分支](#4.4 删除分支)
- [4.5 合并冲突](#4.5 合并冲突)
一、安装步骤
1.1 查看版本
powershell
git --version

1.2 卸载
powershell
yum remove git -y
1.3 安装
powershell
yum install git -y
二、创建仓库
2.1 新增仓库
powershell
mkdir gitcode && cd gitcode
# 初始化仓库
git init
powershell
# 查看.git的目录结构
tree .git

2.2 新增配置项
配置用户名:
powershell
git config user.name "xxxx"
git config user.email "xxx"
查看配置:
powershell
git config -l
删除配置:
powershell
git config --unset user.name
git config --unset user.email
global
表示配置项在当前机器下的所有的git 仓库:
powershell
git config --global user.name "15084323657"
git config --global user.email "2660748572@qq.com"
删除全局配置:
powershell
git config --global --unset user.name
git config --global --unset user.email
三、管理文件
3.1 文件创建
创建一个文件 ReadMe
:
powershell
touch ReadMe
目前这个git
不能管理这个文件:因为还没有添加到暂存区,暂存区没有提交到本地仓库。
这个ReadMe
所在的目录叫工作区,.git
目录里面的叫(仓库)版本库
初始化的git
打印出来没显示index
, 因为我们还没有进行add
操作。
3.2 文件修改、add、commit
powershell
# 修改文件
vim ReadMe
# 添加到暂存区
git add ReadMe
# commit
git commit -m "add first file"

这个时候这个索引 index
就出现了:
查看提交的日志:
powershell
git log
# 打印一行
git log --pretty=oneline
3.3 tree结构探索
前两位是文件名,后面的是:
查看这个对象里面的内容:
powershell
git cat-file -p 58045ff1d3fa8469c2f1c59e362012520fccbf52

Git 追踪的是修改 ,不是文件
四、分支
HEAD 指向的分支是当前工作分支。
4.1 创建分支:
powershell
git branch dev
4.2 查看分支
powershell
git branch

可以发现 master
和 dev
分支目前指向的状态是一样的:
4.3 切换分支
powershell
git checkout dev
HEAD
指向 dev
分支:
在 dev 分支上面修改 ReadMe 文件:
powershell
vim ReadMe
git add ReadMe
git commit -m "md ReadMe"
git status

这个时候切换到 master
分支查看ReadMe
文件:
powershell
git checkout master
git branch
cat ReadMe

发现 ReadMe
文件内容没有更改。
切换到 master 分支上面,合并 dev分支:
powershell
git checkout master
git merge dev
这个时候文件内容变了:
这个时候 master 最新提交指向了 dev最近提交:
4.4 删除分支
删除 dev 分支必须在master分支上面删除:
powershell
git branch -d dev

4.5 合并冲突
当 dev1 和 master 都对同一个文件进行修改,提交,然后在master 分支进行合并:
创建 dev1
分支并切换到该分支:
powershell
git checkout -b dev1
powershell
vim ReadMe
git add .
git commit -m "md ReadME: bb"

切换到 master
分支:
powershell
git checkout master
powershell
vim ReadMe
git add .
git commit -m "md ReadME: cc"

这个时候在master分支将dev1 分支合并,就会报错:
powershell
git merge dev1

查看ReadMe文件:
powershell
cat ReadMe
<<<<<<<
到 =======
是当前分支的冲突代码,=======
到 >>>>>>>
是其余分支的冲突代码。
手动解决冲突,删除冲突代码,然后重新add 和commit
powershell
git add .
git commit -m "merge dev1"
查看 log 信息:
powershell
git log --graph --abbrev-commit
