git 恢复之前的版本,git reset --hard (name-版本名字)

git 恢复之前的版本可以写下面一行命令实现

git reset —-hard HEAD^

(head代表当前的版本,加一个 ^ 代表现在的版本的上一个,加两个 ^^ 代表上上一个)

让我们来看一些例子:

$git init

$touch foo.txt

$git add foo.txt

$git commit -m "initialcommit"

$echo 'newdata'>>foo.txt

$git commit -a -m "morestuffaddedtofoo"

你现在看git的历史记录,你可以看到两次提交:

$git log

*98abc5a(HEAD,master)morestuffaddedtofoo

*b7057a9initialcommit

现在让我们来重置回第一次提交的状态:

$git reset --hardb7057a9

$git log

*b7057a9(HEAD,master)initialcommit

这看起来我们是丢掉了我们第二次的提交,没有办法找回来了。但是reflog就是用来解决这个问题的。简单的说,它会记录所有HEAD的历史,也就是说当你做reset,checkout等操作的时候,这些操作会被记录在reflog中。

$git reflog

b7057a9HEAD@{0}:reset:movingtob7057a9

98abc5aHEAD@{1}:commit:morestuffaddedtofoo

b7057a9HEAD@{2}:commit(initial):initialcommit

所以,我们要找回我们第二commit,只需要做如下操作:

$git reset --hard98abc5a

再来看一下git记录:

$git log

*98abc5a(HEAD,master)morestuffaddedtofoo

*b7057a9initialcommit

PS: 希望小二写的对大家有所帮助,欢迎留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,745评论 4 54
  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 3,542评论 4 36
  • 姓名:彭起洋 公司:思沃技术253期感谢2组彭起洋 272期志工 【知-学习】 诵《六项精进》大纲30遍,共737...
    433d9d018b71阅读 145评论 0 0
  • 11/16武丽娟感恩日志 感恩早上的一路绿灯,感恩老公等我一起上班。一切都很美好,感恩王同学的信任,终于报名了。 ...
    花布鱼阅读 104评论 0 0
  • 习惯,将自己困住,说不上矫情,连失望都是这么安静,一次次,期望又失望,幸福,总是这么短暂或是遥遥无期,有时在想,活...
    道不出s的基地阅读 208评论 0 0