1

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

4

1 回答 1

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}
于 2013-11-15T04:15:23.233 回答