2.1 版本回退

本文概述了如何使用Git进行版本回退,包括查看提交历史、使用gitlog定位版本、gitreset操作及gitreflog的命令追踪。重点讲解了HEAD、commit_id和版本指代的关系,以及如何通过`git reset --hard HEAD^`和`git reflog`进行版本管理。
摘要由CSDN通过智能技术生成

总结:

  1. HEAD指向当前版本
  2. 穿梭前,用git log查看提交历史,确定要回到哪个版本
  3. 重返未来,用git reflog查看命令历史,确定回到未来哪个版本

1
修改文件readme.txt如下

Git is a distributed version control system.
Git is free software distributed under the GPL.

通过git log可以查看提交历史,以便确定退回到哪个版本

commit 38b14eeddba2b09c28b0f76976dc462259f4daf9 (HEAD -> master)
Author: NuoziHuo <huo_nuo_zi@163.com>
Date:   Sun May 29 20:11:46 2022 +0800

    append GPL

commit a6a248b7c5030eff34061778290b4da75d6e2cbf
Author: NuoziHuo <huo_nuo_zi@163.com>
Date:   Sun May 29 20:09:28 2022 +0800

    add distributed

commit 48b96871136919dac793d9b303688eb7727dfb4f
Author: NuoziHuo <huo_nuo_zi@163.com>
Date:   Sun May 29 17:02:17 2022 +0800

    wrote a readme file

在上面基础上加上--pretty=online参数

$ git log --pretty=oneline
38b14eeddba2b09c28b0f76976dc462259f4daf9 (HEAD -> master) append GPL
a6a248b7c5030eff34061778290b4da75d6e2cbf add distributed
48b96871136919dac793d9b303688eb7727dfb4f wrote a readme file

38b14commit id(版本号)
2 readme.txt退回上一个版本

  • Git必须知道当前版本,用HEAD表示当前版本,也就是最新的提交38b14,上一个版本是HEAD^,上上一个版本是HEAD^^,往上几个版本,就在HEAD后面加几个^
$ git reset --hard HEAD^
HEAD is now at a6a248b add distributed

readme.txt当下内容

$ cat readme.txt
Git is a distributed version control system.
Git is free software.

使用命令git reset --hard commit_id

$ git reset --hard 38b14
HEAD is now at 38b14ee append GPL

3 git reflog用来记录每次命令历史
退回到某一个版本,又想恢复到新的版本,但是找不到新版本的commit id

38b14ee (HEAD -> master) HEAD@{0}: reset: moving to 38b14
a6a248b HEAD@{1}: reset: moving to HEAD^
38b14ee (HEAD -> master) HEAD@{2}: reset: moving to 38b14
a6a248b HEAD@{3}: reset: moving to HEAD^
38b14ee (HEAD -> master) HEAD@{4}: commit: append GPL
a6a248b HEAD@{5}: commit: add distributed
48b9687 HEAD@{6}: commit (initial): wrote a readme file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值