Skip to content

Latest commit

 

History

History
54 lines (32 loc) · 1.54 KB

9.Git ORIG_HEAD.md

File metadata and controls

54 lines (32 loc) · 1.54 KB
title date categories tags description
Git ORIG_HEAD作用介绍
2019-05-04
Git
Git

Git ORIG_HEAD作用介绍

在.gti目录中,与HEAD文件类似,还有ORIG_HEAD文件。

当进行一些有风险的操作的时候,如reset、merge或者rebase,Git会将HEAD原来所指向commit对象的sha-1值存放于ORIG_HEAD文件中。也就是说ORIG_HEAD可以让我们找到进行最近一次危险操作之前的HEAD位置。

首先看一下当前分支的提交历史:

$ git log --oneline

代码运行结果截图如下:

a:3:{s:3:"pic";s:43:"portal/201807/17/111553sd8t83y0b4fydr36.jpg";s:5:"thumb";s:0:"";s:6:"remote";N;}

记住当前HEAD所在位置的commit提交的sha-1值(903d5af)。

下面执行回滚操作,代码如下:

$ git reset HEAD^ --hard

代码运行结果截图如下:

a:3:{s:3:"pic";s:43:"portal/201807/17/111638sx4wwnn9xbevozx1.jpg";s:5:"thumb";s:0:"";s:6:"remote";N;}

现在看一下ORIG_HEAD文件中的内容:

$ cat .git/ORIG_HEAD

代码运行结果截图如下:

a:3:{s:3:"pic";s:43:"portal/201807/17/111745sedw2pmwmepws2l8.jpg";s:5:"thumb";s:0:"";s:6:"remote";N;}

内容恰好是在执行回滚操作前HEAD所在的commit对象的sha-1值。