记不起原来的头

时间:2013-01-06 02:39:41

标签: git head

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

2 个答案:

答案 0 :(得分:5)

使用git reflog找出改变HEAD的原因和提交方式。

答案 1 :(得分:-1)

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

话虽如此,当您HEADgit 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来标记由于某种原因对您很重要的提交。找到要查找的提交后,请考虑在其上添加tag,以便您可以轻松找到它。

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

相关问题