在我执行了大量结账操作后,我不记得在这些结账之前哪个是原始HEAD。我怎样才能找回HEAD?
答案 0 :(得分:5)
使用git reflog
找出改变HEAD的原因和提交方式。
答案 1 :(得分:-1)
git存储库是一个提交树,其中一些标签附加到某些提交。这些标签是一种命名树的特定分支的方法。默认情况下,最初有两个标签master
和HEAD
。 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
来标记由于某种原因对您很重要的提交。找到要查找的提交后,请考虑在其上添加tag
,以便您可以轻松找到它。
如果这无法帮助您找到解决方法,请发布有关特定问题的更多详细信息。