GIT使用_GIT版本切换

一、版本回退的概念

1、版本操作

  1. 我们在GIT中的每一次git commit操作就会提交一个历史版本
  2. 每一个历史版本都有一个唯一的hash值进行记录,这个哈希值也称为版本号。
  3. 每一个历史版本实际上就是我们对工作区中的内容修改的一次记录
  4. 因此,当我们想退回到某个修改时,只需要退回到某个版本即可

2、版本切换的实质

在GIT的版本管理中,有一个叫做HEAD的标记,这个标记就是一个用来指向当前版本的指针,当我们进行版本回退或版本切换时,实际上是移动HEAD指针的位置。

3、版本切换后再次提交

版本回退或版本穿梭之后,可以在对应的版本上进行操作,及提交,提交后便会正常生成一次历史记录。

二、如何进行版本回退

1、查看版本号

在GIT中,通过HEAD指针指向不同的版本号来实现切换版本,我们要进行版本的切换,首先要知道要切换到的版本的版本号。

#查看详细历史记录,按提交时间倒叙排列,包含提交时间,提交作者,提交备注以及提交的hash值
git log 
#格式化log形式,每条log只有一行,只包含完整的hash值 和 提交的备注
git log --pretty=oneline
#格式化log形式,每条log只有一行,只包含 短hash值 和 提交的备注
git log --oneline
#只展示最新的几条日志,-n 后面的数字,就表示要展示的条数
git log -n 3
#会展示历史提交的分支路线
git log --graph
# 注意参数可以结合使用
git log --oneline -n 3 #一行一行展示 +  只显示最近的3次提交记录
git log --oneline --graph #一行一行的展示 +  展示提交的路线

git reflog #展示短hash+HEAD{n}+提交备注,可以非常方便的进行历史版本的回退与任意版本的切换
git reflog -n 2 #表示只看最近的两次提交

git log --stat #可以查看历史提交的改动的文件

我们来观察一下这些命令的具体效果

1.1 git log

在这里插入图片描述

1.2git log --pretty=oneline

格式化log形式,每条log只有一行,只包含 短hash值 和 提交的备注
在这里插入图片描述

1.3 git log --oneline

格式化log形式,每条log只有一行,只包含 短hash值 和 提交的备注
在这里插入图片描述

1.4 git log -n 3

只展示最新的几条日志,-n 后面的数字,就表示要展示的条数
在这里插入图片描述

1.5 git log --graph

展示历史提交的分支路线
在这里插入图片描述

1.6 git log --oneline --graph

参数结合使用
一行一行的展示 + 展示提交的路线
在这里插入图片描述

1.7 git reflog

展示短hash+HEAD{n}+提交备注,可以非常方便的进行历史版本的回退与任意版本的切换
在这里插入图片描述

2、版本回退操作—通过git reset

这里在我总结完这部分之后,发现了一个很大的问题,git reset尤其是带有 --hard标记的reset命令是一个危险用法,是GIT会真正地销毁数据的几个操作之一,不建议使用。
具体关于git reset的操作可以参考:https://www.jianshu.com/p/5ea23529527b

2.1操作思路

  1. 使用git log或者git reflog命令,获取到要回退或者切换的版本id
  2. 使用git reset --hard命令回退/切换到某个历史版本
  3. git reset --hard命令会重置 本地仓库、暂存区和工作区,三者的状态保持一致

2.2 版本回退/切换的命令

  1. git reset --hard [索引值] : 可切换到任意版本[推荐使用这个方式]
  2. git reset --hard HEAD^ : 只能后退,一个 ^ 表示回退一个版本,两个^ 表示回退两个版本,依次类推
  3. git reset --hard HEAD~n :只能后退,n表示后退n个版本
2.2.1 git reset --hard HEAD^

一个 ^ 表示回退一个版本,两个表示回退两个版本
在这里插入图片描述
在这里插入图片描述
再切回到原版本
在这里插入图片描述

2.3 关于git reset的使用事项

3、版本回退操作—通过git checkout

3.1 回退到某一节点

git checkout 版本号
在这里插入图片描述

3.2 回退到某一节点的某一文件

git checkout 版本号 文件名

3.3 回退 本地修改未提交(git add)的文件

git checkout 文件名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值