为什么git提交不在标记日期之间的范围内

为什么git提交不在标记日期之间的范围内,git,date,version,commit,release,Git,Date,Version,Commit,Release,当我将git log--pretty=oneline 2.0.7..2.1--wp includes/functions.php作为两个标记(版本)之间的示例时, 我发现他们之间实现了一些承诺。 但是当我看到2007-01-15 20:51:28+0000发布的版本1:2.0.7和2007-01-23 02:23:20+0000发布的版本2:2.1时,我觉得很奇怪。 我找到的提交介于2006-02-09 10:03:48+0000和2007-01-16 18:41:05+0000 有人能给我解释

当我将
git log--pretty=oneline 2.0.7..2.1--wp includes/functions.php
作为两个标记(版本)之间的示例时, 我发现他们之间实现了一些承诺。 但是当我看到2007-01-15 20:51:28+0000发布的版本1:2.0.7和2007-01-23 02:23:20+0000发布的版本2:2.1时,我觉得很奇怪。 我找到的提交介于2006-02-09 10:03:48+00002007-01-16 18:41:05+0000

有人能给我解释一下这种现象吗

首先,每个提交都有两个时间戳:作者时间戳和提交者时间戳。通常这两者是相同的,但这不是必需的。使用git log--pretty=fuller查看两者

其次,这些时间戳实际上是任意的(在一定范围内:它们仅限于Git可以在内部表示的值)。它们默认为在您创建提交时在您的计算机上设置的任何时间,但是您的计算机的时钟可能会关闭,也许是这样,任何人都可以告诉Git设置时钟时间以外的特定时间


最后,
X..Y
符号并不表示介于之间。请参阅我对您上一个问题的回答。密切关注各种可能的图形形状,并考虑<代码> x.y>代码>实际上是指代码>代码> y^ x < /> >:包含从提交<代码> y>代码>中的任何可提交,包括<代码> y>代码>,同时排除所有从“代码> x < /代码>可获得的提交,包括
X
本身。

我发现你是对的Philip Pittle,我发现创建了一个分支,如图所示

我不知道,但合并提交/挑选是否可能将以前的提交应用于已经存在的分支和最近的分支,以及其原始日期?等待回答也是一个有趣的问题这是一个完全的猜测:但我要说的是,在
2006-02-09
上添加了一个commit,它在
2.0.7
之后才合并到您所在的分支中(我假设
master
)。也就是说,有人有一个功能分支在最终合并之前“工作”了11个月,因此它将出现在您的
git日志中,正如我在其他版本中看到的一样,2.0.6发布于2007-01-06 04:24:41+0000,2.0.5发布于2006-10-27 22:42:01+0000,2.0.4发布于2006-07-29 02:25+0000,2.0.3于2006-06-02 17:44:49+0000发布,2.0.2于2006-06-02 17:43:25+0000发布,2.0.1于2006-02-01 22:11:17+0000发布,2.0于2005-12-26 21:35:22+0000发布。我使用的存储库是WordPress。我验证它们,它们都在同一个分支上,因此我认为您的观点不适用于这里:/。它仍然没有回应…谢谢你的回应我会很好地描述你在我的问题中的回应,以及为什么我想探索一堆文件。