Git:提前一步提前

See*_*pha 27 git

我做了一个git reset HEAD~1回去一次提交.我做了很多次.

我现在想回到HEAD最初的位置,但我不确定如何让我HEAD前进.

有谁知道我需要使用什么命令?

1-2-3-4-5-6

最初我是6岁,然后我重新回到3.我现在想回到5.我的理解是,因为我没有git reset --hard从提交6 做我的原始文件仍然可用.从理论上讲,我应该能够取消重置并恢复正确吗?

use*_*253 37

用于git reflog查看上次操作的SHA-1然后执行git reset --hard <sha1>.

Git保持对象(以及它们的SHA-1),即使它们在下一次git gc调用之前"超出范围" .因此,如果你认为,你在项目历史中丢失了一些东西,那就用它git reflog来看看那里是否存在污点.

  • 更准确地说,它会一直保留它们,直到引用日志条目过期*并且*发生`git gc`(`gc` 会在需要时自动调用)。reflog 是找到它们的简单方法,因此“reflog 到期”是考虑事情可以恢复多长时间的更安全的方法。默认情况下,到期时间至少为 30 天,对于某些条目,为 90 天(详细信息超出了本评论的范围:-))。 (2认同)