我查找我的git日志,发现AuthorDate和CommitDate对于我的一些提交略有不同:
commit 3a5912f90dc5227f308e99f95152fbee2301c59a
Author: <hidden>
AuthorDate: Fri Jun 15 10:57:22 2012 +0800
Commit: <hidden>
CommitDate: Fri Jun 15 11:14:37 2012 +0800
Run Code Online (Sandbox Code Playgroud)
作者和承诺与我是一样的.
这是怎么发生的?我困惑了几天.
还有更多(发生在341次提交中的17次):
+------------------------------+-------------------------------+
| from_unixtime(authored_date) | from_unixtime(committed_date) |
+------------------------------+-------------------------------+
| 2012-06-15 10:57:22 | 2012-06-15 11:14:37 |
| 2012-06-15 14:39:54 | 2012-06-15 14:48:57 |
| 2012-06-19 12:28:21 | 2012-06-19 12:29:41 |
| 2012-06-21 18:16:25 | 2012-06-21 18:28:48 |
| 2012-06-26 17:30:54 | 2012-06-26 17:33:55 |
| 2012-07-13 11:41:43 | 2012-07-13 11:42:17 |
| 2012-07-13 11:56:02 | 2012-07-13 12:13:22 |
| 2012-07-13 12:05:09 | 2012-07-13 12:12:24 |
| 2012-07-12 18:38:49 | 2012-07-13 12:26:35 |
| 2012-07-13 11:00:47 | 2012-07-13 12:25:15 |
| 2012-07-16 14:10:54 | 2012-07-16 14:15:01 |
| 2012-07-13 12:56:51 | 2012-07-16 13:49:48 |
| 2012-07-16 14:10:54 | 2012-07-16 14:19:46 |
| 2012-07-24 16:05:05 | 2012-07-24 16:05:48 |
| 2012-07-24 17:42:58 | 2012-07-24 17:43:33 |
| 2012-07-24 17:42:58 | 2012-07-24 17:45:18 |
| 2012-07-26 16:55:40 | 2012-07-26 16:55:53 |
+------------------------------+-------------------------------+
Run Code Online (Sandbox Code Playgroud)
eck*_*kes 134
该作者日期笔记时,这个原本承诺作出(即当你完成了git commit).根据文档git commit,可以使用--date开关覆盖作者日期.
在提交日期被改为每提交基础重建,其中承诺是在另一个分支的分支时被修改,例如时间.
如果您进行提交并将修补程序发送到另一个修补程序以便在另一个仓库中应用修补程序,则会发生同样的情况:作者日期将是您的日期git commit,提交日期将设置为应用修补程序的日期另一个回购.
如果您将修补程序发送给两位同事,则会有一个作者日期,但会有两个不同的提交日期.
这也在Git Book中提到:
您可能想知道作者和提交者之间的区别.的作者是谁最初写补丁的人,而提交者是谁最后应用补丁的人.因此,如果您向项目发送补丁并且其中一个核心成员应用补丁,那么您都会得到信任 - 您作为作者,核心成员作为提交者
Mic*_*son 20
提交的作者日期保留在rebase/cherry-pick等上.但提交日期已更改.