为什么 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 +0000 和 2007-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,我发现有一个如图所示创建的分支。
当我将 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 +0000 和 2007-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,我发现有一个如图所示创建的分支。