git --version 
yum remove git -y yum install git -y mkdir gitcode && cd gitcode # 初始化仓库 git init # 查看.git的目录结构 tree .git 
配置用户名:
git config user.name "xxxx" git config user.email "xxx" 查看配置:
git config -l 删除配置:
git config --unset user.name git config --unset user.email 
global 表示配置项在当前机器下的所有的git 仓库:
git config --global user.name "15084323657" git config --global user.email "2660748572@qq.com" 删除全局配置:
git config --global --unset user.name git config --global --unset user.email 创建一个文件 ReadMe:
touch ReadMe 目前这个git 不能管理这个文件:因为还没有添加到暂存区,暂存区没有提交到本地仓库。
这个ReadMe 所在的目录叫工作区,.git目录里面的叫(仓库)版本库


初始化的git打印出来没显示index, 因为我们还没有进行add操作。
# 修改文件 vim ReadMe # 添加到暂存区 git add ReadMe # commit git commit -m "add first file" 
这个时候这个索引 index 就出现了:
查看提交的日志:
git log # 打印一行 git log --pretty=oneline 前两位是文件名,后面的是:
查看这个对象里面的内容:
git cat-file -p 58045ff1d3fa8469c2f1c59e362012520fccbf52 
Git 追踪的是修改 ,不是文件
HEAD 指向的分支是当前工作分支。
git branch dev git branch 
可以发现 master 和 dev 分支目前指向的状态是一样的:
git checkout dev 
HEAD 指向 dev 分支:
在 dev 分支上面修改 ReadMe 文件:
vim ReadMe git add ReadMe git commit -m "md ReadMe" git status 
这个时候切换到 master 分支查看ReadMe 文件:
git checkout master git branch cat ReadMe 
发现 ReadMe 文件内容没有更改。
切换到 master 分支上面,合并 dev分支:
git checkout master git merge dev 这个时候文件内容变了:
这个时候 master 最新提交指向了 dev最近提交:
删除 dev 分支必须在master分支上面删除:
git branch -d dev 
当 dev1 和 master 都对同一个文件进行修改,提交,然后在master 分支进行合并:
创建 dev1 分支并切换到该分支:
git checkout -b dev1 vim ReadMe git add . git commit -m "md ReadME: bb" 
切换到 master 分支:
git checkout master vim ReadMe git add . git commit -m "md ReadME: cc" 
这个时候在master分支将dev1 分支合并,就会报错:
git merge dev1 
查看ReadMe文件:
cat ReadMe 

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