在我执行了很多结帐操作之后,我不记得在这些结帐之前哪个是原始的 HEAD。我怎样才能找回HEAD?
2 回答
用于git reflog
找出 HEAD 更改的原因和提交内容。
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
可以创建A来标记出于某种原因对您很重要的提交。一旦你找到了你正在寻找的提交,考虑tag
在它上面加上一个,这样你就可以很容易地再次找到它。
如果这不能帮助您找到解决方法,请发布有关您的特定问题的更多详细信息。