Git reflog两次相同的哈希值

时间:2013-11-15 02:37:15

标签: git

有人可以解释以下reflog输出:

# git reflog
a4a1625 HEAD@{0}: reset: moving to @{1}
7fb9d64 HEAD@{1}: commit: more fixes
a4a1625 HEAD@{2}: commit: few more small css fixes
7fb9d64 HEAD@{3}: commit: more css fixing from global overrides
37578c1 HEAD@{4}: pull: Merge made by the 'recursive' strategy.
7095fba HEAD@{5}: commit: fixing my css that got overwritten by global styles.css

注意HEAD @ {1}和HEAD @ {3} - 为什么会这样?我怎样才能回到提交HEAD @ {1} ??

1 个答案:

答案 0 :(得分:2)

Git使用SHA1哈希进行对象识别。 SHA1哈希长度为40个符号。输出中的命令git reflog使用短版本的哈希值。通过命令检查哈希的完整版本:

git log --grep='more fixes'
git log --grep='more css fixing from global overrides'

很可能你会有不同的哈希值。

要将分支状态重置为HEAD @ {1},请使用git reset命令:

git reset --hard HEAD@{1}