有人可以解释以下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} ??
答案 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}