1.查看git安装信息
rpm -qa git 
Git版本管理基础命令
2.配置git命令
Git版本管理基础命令
3.配置基本信息
git config --global user.name 'lemaster'
git config --global user.email '[email protected]'
git config --global color.ui true
Git版本管理基础命令
配置命令执行后,出现一个隐藏文件“.gitconfig”
Git版本管理基础命令
内容就是配置的三个参数。
4.进行初始化
创建一个目录,并进入该目录执行初始化命令:git init
Git版本管理基础命令
当前目录生成新的目录“.git”
使用git status查看状态
Git版本管理基础命令
隐藏文件说明:
branches 分支目录
HEAD 指示当前的分支
hooks 包含git狗子文件
info 包含一个全局排除文件(exclude文件)
objects 存放所有数据内容,info和pack两个子文件夹
refs 存放指向数据(分支)的提交对象的指针
index 保存暂存区信息,在执行git init的时候,这个文件还没有

5.创建第一个版本控制文件
使用touch命令创建(touch test.txt),或者从其他目录复制一个到/home/datasource
此时查看状态,出现一个文件,提示未跟踪。
Git版本管理基础命令
使用命令添加该文件到版本库缓存区中,git add test.txt
"git add ." 添加当前目录中所有文件到暂存区
Git版本管理基础命令
可以使用rm命令插销添加到缓存区的文件
git rm --cached test3.txt

Git版本管理基础命令
还可以同时从工作区和暂存区同时删除,命令如下
git rm -f test2.txt
Git版本管理基础命令

6.提交、改名和对比版本

提交缓存区文件到版本库
git commit -m “add newfile” 
后面如果不跟文件名,将提交所有缓存区文件
Git版本管理基础命令
提交后,暂存区清空

已提交到缓存区的文件修改文件名
方法1
需要先从缓存区内删除,然后在工作区修改文件名,再重新提交
方法2
可以使用git mv test3.txt test3a.txt

文件比对,工作区、缓存区、版本库文件内容
给已经提交的test.txt和添加到缓存区test3.txt各添加一行数据。
使用如下命令比对内容:
git  diff 
Git版本管理基础命令
如果只比对暂存区,命令如下

git diff --cached

使用git commit 提交更改数据
Git版本管理基础命令

7.查看历史信息
git log
Git版本管理基础命令
可以一行显示信息
git log --online
Git版本管理基础命令
git log --online --decorate 查看当前版本指向哪个快照
查看每次提交修改内容:git log -p --oneline
查看最近一次提交修改内容: git log -1 -p
恢复历史版本:git reset --hard 版本哈希值
Git版本管理基础命令

注意,回滚后,当前版本之后的版本已经无法通过git log --online命令查看。
但是其版本哈希值还是存在的,只需要再使用git log --hard 版本哈希值即可回到任意一个版本。如果你先记录下这个值
如果没有记录,可以使用git relflog 查看所有的的记录。

8.版本分支

创建分支
git branch testing 创建一个名为testing的分支
查看分支
git branch
Git版本管理基础命令
使用checkout切换分支
git checkout  testing   切换到testing分支
使用git branche检查切换是否成功
Git版本管理基础命令
使用git checkout -b testing2 创建并切换到testing2分支,相当于连续执行git  branch testing2git checkout testing2两条命令
Git版本管理基础命令

删除分支,需要先切换到主分支(离开要删除的分支)
然后执行删除命令:git branch -d testing2

切换到分支testing中,创建文件test5.txt并提交到版本库。
此时使用ls可以发现test5.txt文件,切换到master,再使用ls,则看不到test5.txt
Git版本管理基础命令
master和testing分支内容不同。
现在我们要将两个分支合并以保证一致。
合并的时候,必须切换到master上。
git merge  testing
Git版本管理基础命令
合并后,master中test5.txt已经可见。
如果master和分支testing中有一个文件内容不一致(即发生合并冲突),合并文件内会包含冲突的内容,但是用特殊符号标记出来,对于冲突文件需要手动修改并commit。

相关文章: