GIT使用之在Git中checkout历史版本

  • A+
所属分类:Linux  Linux基础
摘要

昨天写代码的时候,误删了一个文件。今天发现的时候,commit 已经 push 到版本库了。本想用 git reset 回退版本,找回文件后重新提交。但是想起 Git 是一个版本控制系统哎,直接从版本库里 checkout 出某个文件的历史版本不就好了?

想法挺好,于是GG搜了下方法是想法是可行的,先来看看

线路用git log来查询下历史提交
[lookback@DT-VM-Node231 ~/kernel-ml-aufs]$ git log #
commit e1b54c63e6be60319675d42c802df2199181810c
Author: Ben Nied <spacewreckage@gmail.com>
Date:   Fri Sep 30 10:18:26 2016 -0400

    bump kernel to 4.7.6

commit 2941352b5743e80f9aba161edde8072db7ee119e
Author: Ben Nied <spacewreckage@gmail.com>
Date:   Mon Sep 26 08:33:09 2016 -0400

    bump kernel to 4.7.5
............

现在来回退版本

[lookback@DT-VM-Node231 ~/kernel-ml-aufs]$ awk '$2~/LKAver/{print $NF;exit}' specs-el7/kernel-ml-aufs-4.7.spec
4.7.6
[lookback@DT-VM-Node231 ~/kernel-ml-aufs]$ git checkout 2941352b5743e80f9aba161edde8072db7ee119e
之前的 HEAD 位置是 e1b54c6... bump kernel to 4.7.6
HEAD 目前位于 2941352... bump kernel to 4.7.5
[lookback@DT-VM-Node231 ~/kernel-ml-aufs]$ awk '$2~/LKAver/{print $NF;exit}' specs-el7/kernel-ml-aufs-4.7.spec
4.7.5
[lookback@DT-VM-Node231 ~/kernel-ml-aufs]$ 

可以看出使用 git checkout SHA1号就可以可以实现了

lookback

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: