我试图收集[NOW, THEN]
范围内的提交列表,其中NOW
为HEAD
且[THEN]
为8af39377
,和它的约120次提交。
> git log 8af39377289feba1876b3252b6d23 HEAD --oneline | cut -d " " -f 1 > commits.txt
然后查看commits.txt
,其长度为2300行,并将顶部条目显示为8af39377
(THEN
),将底部条目显示为a3b6ece
(第一个从2002年开始)。
为什么Git认为HEAD
是第一次提交到存储库?
答案 0 :(得分:3)
你的语法错了。如果你想要8af39和HEAD之间的范围,那么你需要8af39..HEAD
至于为什么它在17年前显示,如果你只是指定一个修订版,它将找到该提交所有提交的提交。由于所有提交都有向后指针一直到根,所以你找到了root提交。
Revision Specification请参阅有关指定范围的部分。
答案 1 :(得分:1)
git log 8af39377289feba1876b3252b6d23 HEAD --oneline
那说"给我这两个提交的完整历史记录,按照由祖先约束的日期顺序排序"。
你想要
[NOW,THEN]范围内的提交列表,其中NOW是HEAD,[THEN]是8af39377,其约120提交前
但是您的日志输出与您相矛盾:git log
首先显示其输出最近,受祖先约束,
它将顶部条目显示为8af39377。
因此您对提交订单有误。如果您没有对默认输出进行静音,它也会明确地向您显示提交日期,因此您可以查看它是日期还是祖先问题。
无论是哪种,
git log --oneline HEAD..8af39377
会显示清单。
可能值得添加--graph --decorate
。