这可能是一个重复的问题,但是我似乎找不到合适的解决方案。我正在使用git4idea.history.GitHistoryUtils.history()获取提交列表。如果检出了一个较低的修订版本(在提交树中),则此提交将成为结果列表中的第一个提交,并且所有上述所有内容都将被忽略。
有没有办法像HEAD列表中的HEAD较低时IDEA本身那样捕获提交的完整列表,但是Vcs Log窗口显示了先前检出的分支中的所有提交(在我的情况下为“ master”) ?
谢谢!
答案 0 :(得分:0)
TLDR:在签出较旧的提交时,您无法获得迄今为止所有提交的列表,因为这不是HEAD的工作方式。
签出上一个提交时git中会发生什么?您将以“分离头”状态着陆。之所以这样称呼,是因为HEAD(这是最新提交时代码仓库状态的指针)与正常流程分离。这就是为什么您不再看到较新的提交的原因。您已请求HEAD冻结,指向某个时间点。另外,如果您在分离的HEAD中进行更改并提交更改,这些更改将不会传递到分支。
因此,与其问“即使我正在较早的结帐,我如何在此窗口中获得所有提交的列表”,还应该回到想要的原因,想要实现的目标以及寻找另一种方法来实现这一目标。
您到底想实现什么?