1

在我执行了很多结帐操作之后,我不记得在这些结帐之前哪个是原始的 HEAD。我怎样才能找回HEAD?

4

2 回答 2

5

用于git reflog找出 HEAD 更改的原因和提交内容。

于 2013-01-06T04:31:36.383 回答
-1

git 存储库是一个提交树,其中一些标签附加到一些提交。这些标签是命名树的特定分支的一种方式。默认情况下,最初有两个标签masterHEAD. master指示树的主要分支,而“HEAD”是指示您当前在提交树中的哪个提交的标签。

HEAD话虽如此,当你在树上从一个提交git checkout移动到另一个提交时,它总是你在哪里。HEAD

据我所知,没有跟踪HEAD标签如何在树中移动。

但是,如果您想更清楚地看到您在整个树中的位置,该git log命令可以很好地向您显示 - 尽管可能需要一些研究才能知道哪些选项会显示您想要看到的内容。

下面是我经常使用的一些git log命令示例,也许它们会帮助您找到解决方法。每个都列出了来自父提交之上的子提交的提交

  • 此列表列出了您当前所在分支上的所有提交,并用分支名称和左侧的图表进行了装饰,该图表显示了提交之间的相互关系。

    git log --oneline --decorate=short --graph

  • 与上面相同,但显示连接到您所在位置的树中的所有提交。

    git log --oneline --decorate=short --graph --all

  • 这是一个只显示那些已标记的提交

    git log --oneline --decorate=short --simplify-by-decoration --graph --all

还有另一种标签,git tag. tag可以创建A来标记出于某种原因对您很重要的提交。一旦你找到了你正在寻找的提交,考虑tag在它上面加上一个,这样你就可以很容易地再次找到它。

如果这不能帮助您找到解决方法,请发布有关您的特定问题的更多详细信息。

于 2013-01-06T04:12:39.337 回答