2012-08-08 69 views
53

我查找我git的日誌,發現AuthorDate和CommitDate是我的一些提交的略有不同:爲什麼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 

作者和提交是一樣的我。

這是怎麼發生的?我很困惑好幾天。

還有更多(17出的341提交發生):

+------------------------------+-------------------------------+ 
| 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   | 
+------------------------------+-------------------------------+ 
+0

嗯,好像發生時合併分支機構。 – fossilet 2012-08-08 03:32:33

+1

相關:http://stackoverflow.com/questions/18750808/difference-between-author-and-committer-in-git – 2017-04-14 08:36:36

回答

83

作者日期注意到這個提交最初是什麼時候(即當你完成git commit時)。根據git commit的文檔,可以使用​​開關覆蓋作者日期。

提交日期在每次提交被修改時都會發生變化,例如,當重新綁定提交所在的分支在另一分支上時。

如果您進行提交併將補丁發送到另一個補丁以將補丁應用到另一個補丁中,則會發生同樣的情況:作者日期將爲您的日期git commit,提交日期將設置爲該日期該補丁應用於其他回購。

如果將修補程序發送給兩位同事,則會有一個作者日期,但會有兩個不同的提交日期。

這也是在Git Book提到:

您可能想知道有什麼區別的提交作者和之間作者是最初編寫補丁的人,而提交者是上次應用該補丁的人。所以,如果你在一個補丁發送到項目的核心成員之一,應用補丁,雙方你獲得信貸—你作爲作者和核心成員的提交者

+0

合併分支時會發生我的情況嗎? – fossilet 2012-08-08 04:40:26

+1

不,我認爲日期是SHA的一部分,因此除非您執行一些重寫歷史記錄的操作,例如重新綁定,否則不應更改。 – asmeurer 2012-08-08 04:53:36

+0

我們會很好地欣賞一個簡短的描述,我們應該如何期望在挑選櫻桃之後,修改或重新定義提交的祖先之後更改時間戳。使用'git show -s --format =「commit%cD作者%aD」HEAD「來玩弄,例如,用'git gui'更新提交信息似乎會更新兩者,但'git commit - -amend'只更新提交者日期。直觀。 – 2017-02-02 10:36:45

10

作者日期提交被保存在底墊/摘櫻桃等,但提交日期更改。

+0

有些提交問題不是櫻桃採摘或rebasing。他們看起來像合併另一個分支。 – fossilet 2012-08-08 04:39:16

+5

'git commit --amend'也是如此。 – asmeurer 2012-08-08 04:51:30

相關問題