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

问题描述 投票:2回答:2

当我将git log --pretty=oneline 2.0.7..2.1 -- wp-includes/functions.php作为两个标签(发行版)之间的例子时,我发现它们之间实现了许多提交106次提交。但是当我看到版本1:2.0.7在2007-01-15 20:51:28 +0000发布并且版本2:2.1在2007-01-23 02:23:20 +0000发布时,这很奇怪。我发现的提交是在2006-02-09 10:03:48 +0000和2007-01-16 18:41:05 +0000之间

有人能解释一下这个现象吗?

git date version commit release
2个回答
0
投票

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

其次,这些时间戳实际上是任意的(在某个范围内:它们仅限于Git可以在内部表示的值)。它们默认为您计算机上设置的任何内容,在您创建提交时,但计算机的时钟可能已关闭,可能非常频繁,并且任何人都可以告诉Git设置除时钟时间之外的特定时间。

最后,X..Y符号并不意味着。请参阅我之前的问题How to find commit responsible by adding a file index (blob)的答案。密切关注各种可能的图形形状,并认为X..Y实际上意味着Y ^X:包括从提交Y可以访问的任何提交,包括Y本身,同时排除从X可以访问的所有提交,包括X本身。


0
投票

我发现你是对的Philip Pittle,我发现有一个分支如图所示。 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.