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

摘要

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

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

线路用git log来查询下历史提交
[[email protected] ~/kernel-ml-aufs]$ git log #
commit e1b54c63e6be60319675d42c802df2199181810c
Author: Ben Nied <[email protected]>
Date:   Fri Sep 30 10:18:26 2016 -0400

    bump kernel to 4.7.6

commit 2941352b5743e80f9aba161edde8072db7ee119e
Author: Ben Nied <[email protected]>
Date:   Mon Sep 26 08:33:09 2016 -0400

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

现在来回退版本

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

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

  • 本文由 发表于 2016年10月1日06:36:49
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
匿名

发表评论

匿名网友 填写信息

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