为什么 git 提交不在他们标签的日期范围内

why git commits are not in range between date of their tags

当我将 git log --pretty=oneline 2.0.7..2.1 -- wp-includes/functions.php 作为两个标签(版本)之间的示例时, 我发现他们之间实现了 106 次提交。 但是当我看到 version1: 2.0.7 发布于 2007-01-15 20:51:28 +0000 和 version2: 2.1 发布于 2007 时很奇怪-01-2302:23:20+0000。 我发现的提交在 2006-02-09 10:03:48 +00002007-01-16 18:41:05 +0000[=22 之间=]

谁能给我解释一下这个现象?

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

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

以外的特定时间

最后,X..Y 表示法 并不 表示 之间。请参阅我对您上一个问题的回答,。密切注意各种可能的图形形状,并考虑 X..Y 真正意味着 Y ^X:包括从提交 Y 可到达的任何提交,包括 Y 本身,同时排除所有提交可从 X 访问,包括 X 本身。

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